This following code works, except that the first random is always the same (Analysis) for some reason.
Anyone knows why ?
\enableregime[il1]
\starttext
\startluacode
userdata = userdata or {}
math.randomseed( os.time() )
function userdata.random(...)
context(arg[math.random(1, #arg)])
end
\stopluacode
\def\CHOOSERANDOM#1{\ctxlua{userdata.random(#1)}}
\dorecurse{10}{\CHOOSERANDOM{"Maths", "Physics", "Algebra", "Analysis", "Chemistry", "Geometry", "Wave equation", "Schrödinger equation"}\par}
\stoptext
Mathieu
> From:
otared@gmail.com> Date: Wed, 8 Jun 2011 18:52:36 +0200
> To:
ntg-context@ntg.nl> Subject: [NTG-context] Random selection of a word in a set with lua and mkiv
>
> Hi all,
>
> Assuming that we have a set of words or expressions, say
> {Maths, Physics, Algebra, Analysis, Chemistry, Geometry, Wave equation, Schrödinger equation}
> is it possible to write a lua function, named for instance
> randomselectword
> which returns one of the words or expressions selected at random in the above set?
> Indeed this is intended to be used in a TeX file processed with mkiv.
>
> Thanks in advance for any idea and help.
>
> Best regards: OK
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
>
> maillist :
ntg-context@ntg.nl /
http://www.ntg.nl/mailman/listinfo/ntg-context> webpage :
http://www.pragma-ade.nl /
http://tex.aanhet.net> archive :
http://foundry.supelec.fr/projects/contextrev/> wiki :
http://contextgarden.net> ___________________________________________________________________________________
___________________________________________________________________________________