Am 18.04.2012 um 14:15 schrieb Marco:
On 2012-04-18 Wolfgang Schuster
wrote: The following works with the current beta, you can find another example in core-dat.mkiv.
[…]
Thanks a lot. One more question: How to address the last element without manually keeping track of how often it was saved? Anyhow, I am just interested in the last saved value. A solution which simply overwrites the old value every time would also be fine.
\starttext \definedataset [test] \setdataset [test] [foo=first] \setdataset [test] [foo=second]
% I don't know that element "2" is the last foo is: \datasetvariable{test}{2}{foo}
% what I need % foo is: \datasetvariable{test}{"last"}{foo} \stoptext
\definedataset[test] \newcounter\testcounter % optional because \increment checks if the command is defined \startsetups dataset:test \doifvariable{test}{foo} { \doglobal\increment\testcounter \setdataset[test][foo=\getvariable{test}{foo}] } \stopsetups \setvariables[test][set=\texsetup{dataset:test}] \starttext \setvariables[test][foo=first] \setvariables[test][foo=second] foo is: \datasetvariable{test}{\testcounter}{foo} \stoptext Wolfgang