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 : [email protected] / 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
___________________________________________________________________________________