* Random selection of a word in a set with lua and mkiv
@ 2011-06-08 16:52 Otared Kavian
2011-06-08 17:00 ` Hans Hagen
2011-06-08 17:00 ` Mathieu Dupont
0 siblings, 2 replies; 7+ messages in thread
From: Otared Kavian @ 2011-06-08 16:52 UTC (permalink / raw)
To: mailing list for ConTeXt users
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Random selection of a word in a set with lua and mkiv
2011-06-08 16:52 Random selection of a word in a set with lua and mkiv Otared Kavian
@ 2011-06-08 17:00 ` Hans Hagen
2011-06-08 17:00 ` Mathieu Dupont
1 sibling, 0 replies; 7+ messages in thread
From: Hans Hagen @ 2011-06-08 17:00 UTC (permalink / raw)
To: mailing list for ConTeXt users; +Cc: Otared Kavian
On 8-6-2011 6:52, Otared Kavian wrote:
> 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.
something
function document.r(str)
local set = utilities.parsers.settings_to_array(str)
context(set[math.round(math.random(1,#set))])
end
\ctxlua{document.r("math physics")}
(untested)
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Random selection of a word in a set with lua and mkiv
2011-06-08 16:52 Random selection of a word in a set with lua and mkiv Otared Kavian
2011-06-08 17:00 ` Hans Hagen
@ 2011-06-08 17:00 ` Mathieu Dupont
2011-06-08 17:07 ` Hans Hagen
2011-06-08 20:12 ` Otared Kavian
1 sibling, 2 replies; 7+ messages in thread
From: Mathieu Dupont @ 2011-06-08 17:00 UTC (permalink / raw)
To: ConTeXt
[-- Attachment #1.1: Type: text/plain, Size: 1712 bytes --]
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
> ___________________________________________________________________________________
[-- Attachment #1.2: Type: text/html, Size: 2723 bytes --]
[-- Attachment #2: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Random selection of a word in a set with lua and mkiv
2011-06-08 17:00 ` Mathieu Dupont
@ 2011-06-08 17:07 ` Hans Hagen
2011-06-08 17:19 ` Mathieu Dupont
2011-06-08 20:12 ` Otared Kavian
1 sibling, 1 reply; 7+ messages in thread
From: Hans Hagen @ 2011-06-08 17:07 UTC (permalink / raw)
To: mailing list for ConTeXt users
On 8-6-2011 7:00, Mathieu Dupont wrote:
>
>
> 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
Because context remembers the seed (is reported in the log). Delete the
tuc file and you will get another value. We could get oscillation
otherwise.
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Random selection of a word in a set with lua and mkiv
2011-06-08 17:07 ` Hans Hagen
@ 2011-06-08 17:19 ` Mathieu Dupont
0 siblings, 0 replies; 7+ messages in thread
From: Mathieu Dupont @ 2011-06-08 17:19 UTC (permalink / raw)
To: Hans Hagen, ConTeXt
[-- Attachment #1.1: Type: text/plain, Size: 1659 bytes --]
I see.So it can be fixed by simply adding the first line before the second :\CHOOSERANDOM{""}\CHOOSERANDOM{"Maths", "Physics", "Algebra", "Analysis", "Chemistry", "Geometry", "Wave equation", "Schrödinger equation"}Thanks, that fixes one of my problems !
Mathieu
> Date: Wed, 8 Jun 2011 19:07:50 +0200
> From: pragma@wxs.nl
> To: ntg-context@ntg.nl
> CC: mathieudupont@hotmail.com
> Subject: Re: [NTG-context] Random selection of a word in a set with lua and mkiv
>
> On 8-6-2011 7:00, Mathieu Dupont wrote:
> >
> >
> > 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
>
> Because context remembers the seed (is reported in the log). Delete the
> tuc file and you will get another value. We could get oscillation
> otherwise.
>
>
> -----------------------------------------------------------------
> Hans Hagen | PRAGMA ADE
> Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
> tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
> | www.pragma-pod.nl
> -----------------------------------------------------------------
[-- Attachment #1.2: Type: text/html, Size: 2710 bytes --]
[-- Attachment #2: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Random selection of a word in a set with lua and mkiv
2011-06-08 17:00 ` Mathieu Dupont
2011-06-08 17:07 ` Hans Hagen
@ 2011-06-08 20:12 ` Otared Kavian
2011-06-08 20:48 ` Hans Hagen
1 sibling, 1 reply; 7+ messages in thread
From: Otared Kavian @ 2011-06-08 20:12 UTC (permalink / raw)
To: mailing list for ConTeXt users
[-- Attachment #1.1: Type: text/plain, Size: 3140 bytes --]
Dear Hans, dear Mathieu,
Thank you very much for your quick thoughts and solutions!
It is amazing how fast one gets a solution to one's problem on this list…
Just a note for Mathieu: I think that
\enableregime[il1]
is not needed in mkiv, since a unicode regime is the default there (however with mkii I use
\enableregime[utf]
but in the case we are discussing, one has to use lua, so mkiv is mandatory).
Best regards: OK
On 8 juin 2011, at 19:00, Mathieu Dupont wrote:
>
> 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
> > ___________________________________________________________________________________
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________
%%%%%%%%%%%%%%%%%%
Otared Kavian
Département de Mathématiques
Université de Versailles Saint-Quentin
Bâtiment Fermat
45 avenue des Etats Unis
78035 Versailles cedex
Téléphone: +33 1 39 25 46 42
Secrétariat: +33 1 39 25 46 44
Secrétariat: +33 1 39 25 46 46
e-mail: Otared.Kavian@math.uvsq.fr
[-- Attachment #1.2: Type: text/html, Size: 6520 bytes --]
[-- Attachment #2: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Random selection of a word in a set with lua and mkiv
2011-06-08 20:12 ` Otared Kavian
@ 2011-06-08 20:48 ` Hans Hagen
0 siblings, 0 replies; 7+ messages in thread
From: Hans Hagen @ 2011-06-08 20:48 UTC (permalink / raw)
To: mailing list for ConTeXt users; +Cc: Otared Kavian
On 8-6-2011 10:12, Otared Kavian wrote:
> Thank you very much for your quick thoughts and solutions!
> It is amazing how fast one gets a solution to one's problem on this list…
well, this was an easy one -)
> Just a note for Mathieu: I think that
> \enableregime[il1]
depends on the input encoding ... regimes are still supported but indeed
all ends up in utf internally
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-06-08 20:48 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-08 16:52 Random selection of a word in a set with lua and mkiv Otared Kavian
2011-06-08 17:00 ` Hans Hagen
2011-06-08 17:00 ` Mathieu Dupont
2011-06-08 17:07 ` Hans Hagen
2011-06-08 17:19 ` Mathieu Dupont
2011-06-08 20:12 ` Otared Kavian
2011-06-08 20:48 ` Hans Hagen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).