Dear Hans, I tested your code.
> local tf = { true, false } > > function document.truthTable(a) > document.MakeHead(a) > … … > end > document.MakeFooter() > end This part produces the right logical value. But, the next part doesn’t produce the correct value. While the value of each variable is printed correctly, the values of outputs are all 0. > local tf = { "1", "0" } > > function document.truthTable(a) > document.MakeHead(a) > for i,s in ipairs(tf) do > for j,t in ipairs(tf) do > for k,u in ipairs(tf) do > context.NC() > context(s) > context.NC() > context(t) > context.NC() > … ... > end > end > end > document.MakeFooter() > end I think that the logical function “document.logicF()"is not working for the array tf={“1”,”0”}. In python, 1 and 0 are treated as true and false. But, I read that only “false” and “nil” are treated as false in Lua, that is, “0” is also treated as true! I checked it using the following simple code: \starttext \startluacode if 0 then context("True") else context("False") end \stopluacode \stoptext The output The output is “True”. Best regards, Dalyoung
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________