[NTG-context] Passing two arguments from Lua to Context

Hans Hagen pragma at wxs.nl
Wed Feb 14 00:22:27 CET 2018


On 2/13/2018 10:16 PM, Otared Kavian wrote:
>> On 13 Feb 2018, at 17:38, Hans Hagen <pragma at wxs.nl> wrote:
>>
>>> […]
>>
>> context.goto( "Index", { "ref:index" })
>>
>> \def\foo#1#2{....}
>>
>> context.foo("a","b")
>>
>> \def\foo[#1][#2]{....}
>>
>> context.foo( { "a" }, { "b" } )
>>
>> etc
> 
> Hi Hans,
> 
> Thanks for your attention, your quick response and the hints, especially regarding the definition of a command with brackets.
> 
> Indeed, as you may see with the following modified example,
> 	context.goto("Index",{"ref:index"})
> generates an error, maybe because of a delimiter issue with the definition of \goto.
> However, after defining a \MyGoTo command with delimiters being explicitely brackets, then
> 	context.MyGoTo({"Index"},{"ref:index"})
> works fine, as well as
> 	local s,t = "Index","ref:index"
> 	context.MyGoTo({s},{t})
> so that my problem is solved…
> 
> Best regards: OK
> %% begin test-lua-reference.tex
> \setupinteraction[state=start]
> \def\MyGoTo[#1][#2]{\goto{#1}[#2]}
> \starttext
> 
> \startchapter[title={Ward},reference={ch:ward}]
> 
> \startluacode
> 	context.index("Knuth")
> 	context.index("Ward")
> 	context("Read Knuth and see also the ")
> 	local s,t = "Index","ref:index"
> 	context.MyGoTo({s},{t})
> --	context.goto("Index",{"ref:index"}) -- this does not work
> \stopluacode

you need to use

context["goto"]("Index",{"ref:index"}) -- this does not work

because "goto" is a reserved lua word

you can't say foo.if or foo.end either

> \input ward.tex
> 
> \stopchapter
> 
> \starttitle[title={Index}]
> \startluacode
> 	local s,t = "ref:","index"
> 	context.pagereference({"ref:index"})
> \stopluacode
> \placeindex
> \stoptitle
> 
> \stoptext
> %% end test-lua-reference.tex
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
> 
> maillist : ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________
> 


-- 

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------


More information about the ntg-context mailing list