Sorry for the noise… I found the answer to my last question in module-01.pdf, pages 92 and 93: the right definition is \define[3]\RandomCoeff{% \setevalue{Coeff#1}{\ctxlua{tex.print(math.random(#2,#3))}} } that is one has to use \setevalue instead of \setvalue (that is \edef instead of \def).
Best regards: OK On 5 janv. 2012, at 22:24, Otared Kavian wrote: > Hi again Wolfgang and Peter, > > The solution you provided to my problem is great but has a small issue… > Considering the definition > > \define[3]\RandomCoeff{% > \setvalue{Coeff#1}{\ctxlua{tex.print(math.random(#2,#3))}} > } > > after saying > \RandomCoeff{Alpha}{1}{10} > one gets \CoeffAlpha, but if I use several times \CoeffAlpha, it takes a new > value each time, an effect which is undesirable in what I am willing to do. > Is there a way to somehow « freeze » the value of \CoeffAlpha once it is > defined? > > Best regards: OK > PS: here is the complete example: > > \define[3]\RandomCoeff{% > \setvalue{Coeff#1}{\ctxlua{tex.print(math.random(#2,#3))}} > } > > \starttext > \RandomCoeff{Alpha}{1}{10} > \RandomCoeff{Beta}{10}{100} > > \CoeffAlpha > > \CoeffBeta > > \CoeffAlpha > > \CoeffBeta > > \stoptext > > On 5 janv. 2012, at 21:18, Wolfgang Schuster wrote: > >> >> Am 05.01.2012 um 21:17 schrieb Peter Münster: >> >>> On Thu, Jan 05 2012, Otared Kavian wrote: >>> >>>> \define[3]\RandomCoeff{% >>>> \ctxlua{a = math.random(#2,#3)} >>>> % \csname{Coeff#1}\endcsname{\ctxlua{tex.print(a)}} %% this line does not >>>> work as expected... >>> >>> \setuprandomize[2012] >>> \define[3]\RandomCoeff{% >>> \expandafter\def\csname >>> Coeff#1\endcsname{\ctxlua{tex.print(math.random(#2,#3))}}} >> >> \setvalue{Coeff#1}{…} >> >> Wolfgang > > ___________________________________________________________________________________ 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 ___________________________________________________________________________________