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

2018-02-13 Thread Hans Hagen

On 2/13/2018 10:16 PM, Otared Kavian wrote:

On 13 Feb 2018, at 17:38, Hans Hagen  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@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
-
___
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___

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

2018-02-13 Thread Otared Kavian
> On 13 Feb 2018, at 17:38, Hans Hagen  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

\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@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
___