Hi Fabrice,

As Wolfgang points out, it is indeed possible to fill-in your table with Lua: maybe you were wondering how to fill the columns 2, 3 and 4. In this case you need to use the Lua function math.mod as in the following, which is a completed version of what Wolfgang sent:

%% begin filling-with-lua.tex
\starttext

\startluacode
context.startxtable{ align = "middle,lohi", bodyfont = "9pt", framecolor = "black" }
    context.startxrow{ background = "color", backgroundcolor = "lightgray" }
        context.startxcell{ nx = 4 }
            context("Units digit of")
        context.stopxcell()
    context.stopxrow()
    context.startxrow()
        context.startxcell{ width = "1cm" }
            context.im("a")
        context.stopxcell()
        context.startxcell{ width = "1cm" }
            context.im("a^2")
        context.stopxcell()
        context.startxcell{ width = "1cm" }
            context.im("b")
        context.stopxcell()
        context.startxcell{ width = "1cm" }
            context.im("2b^2")
        context.stopxcell()
    context.stopxrow()
    for i = 0,9 do
        context.startxrow()
            for j = 1,4 do
                context.startxcell()
                    if j == 1 then
                        context(i)
                    elseif j == 2 then
                    context(math.mod(i*i,10))
 elseif j == 3 then
  context(i)
 else
  context(math.mod(2*i*i,10))
                    end
                context.stopxcell()
            end
        context.stopxrow()
    end
context.stopxtable()
\stopluacode

\stoptext
%% end filling-with-lua.tex

Best regards: Otared

On 23 Aug 2023, at 17:48, Wolfgang Schuster <wolfgang.schuster.lists@gmail.com> wrote:

Fabrice Couvreur schrieb am 23.08.2023 um 19:28:
Hi,
I'm trying to fill an array using lua. So far it works but then I don't know if it's possible.

Where do you have problems (look into cld-mkiv.pdf for hins)?

\starttext

\startluacode
context.startxtable{ align = "middle,lohi", bodyfont = "9pt", framecolor = "black" }
    context.startxrow{ background = "color", backgroundcolor = "lightgray" }
        context.startxcell{ nx = 4 }
            context("Units digit of")
        context.stopxcell()
    context.stopxrow()
    context.startxrow()
        context.startxcell{ width = "1cm" }
            context.im("a")
        context.stopxcell()
        context.startxcell{ width = "1cm" }
            context.im("a^2")
        context.stopxcell()
        context.startxcell{ width = "1cm" }
            context.im("b")
        context.stopxcell()
        context.startxcell{ width = "1cm" }
            context.im("2b^2")
        context.stopxcell()
    context.stopxrow()
    for i = 0,9 do
        context.startxrow()
            for j = 1,4 do
                context.startxcell()
                    if j == 1 then
                        context(i)
                    end
                context.stopxcell()
            end
        context.stopxrow()
    end
context.stopxtable()
\stopluacode

\stoptext

Wolfgang

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net
___________________________________________________________________________________

Otared Kavian
e-mail: otared@gmail.com
Phone: +33 6 88 26 70 95