ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: "Procházka Lukáš" <lpr@pontex.cz>
To: ConTeXt <ntg-context@ntg.nl>
Subject: Re: Passing and retrieveing a variable
Date: Sat, 08 Jan 2011 19:12:02 +0100	[thread overview]
Message-ID: <op.voz4uczt8lgizc@lk-2008-nbk> (raw)
In-Reply-To: <4D278C80.8070805@wxs.nl>

Hello,

thanks for detailing the observation -

On Fri, 07 Jan 2011 22:58:24 +0100, Hans Hagen <pragma@wxs.nl> wrote:

> On 7-1-2011 9:32, Procházka Lukáš Ing. - Pontex s. r. o. wrote:
>
>> - Modes are accessible by tex.modes[<a-mode>].
>
> indeed
>
>> - - tex.modes are 'false' by default. I.e. they are not 'nil' but
>> 'false', even if not specified on the command line. (tex.mode.__newindex
>> predefined to this purpose?)
>
> indeed
>
>> - There is no table of arguments or variables being passed by
>> --arguments="ARG=arg" or by --variable="VAR=var" from the command line.
>
> indeed (--arguments is an old mechanism and mkii compatible)
>
>> - All arguments passed to the command line are accessible by
>> document.arguments. Unfortunately, when repeating an arg, only the last
>> is accessible, e.g.
>>
>> context.exe t.mkiv --arguments="ARG1=arg1" --arguments="ARG2=arg2"
>
> indeed, so one can easily overload

You're right, good feature.

>> will cause that only (string) "ARG2=arg2" will be in
>> document.arguments.arguments.
>
> as mentioned by someone already, use "a=1,b=2,c=3"
>
>> - - That means also that not splitting to key-value pair is not
>> performed by default (document.arguments.arguments is still "ARG2=arg2",
>> no splitting to document.arguments.arguments.ARG2 to be "arg2" is not
>> done).
>
> indeed, although they are split and assigned at the tex end

So, an earlier splitting may be performed by something like

for a in document.arguments:gmatch("([^,]+)") do
    local k, v = a:match("(.*)=(.*)")

    document.arguments[k] = v
end

Best regards,

Lukas


>> - Not only predefined options/switches, but all args passed by command
>> line are accessible by document.arguments. I.e. it's possible to call
>>
>> context.exe t.mkiv --myvar=MYVAR
>
> right, but make sure to use a prefix so that there is no confusion
> (myvarone myvartwo etc)
>
>> and later it's possible to get "MYVAR" from document.arguments.myvar.
>>
>> Let's check the call:
>>
>> context.exe t.mkiv --arguments=AAA=aaa --mode=MMM --arguments=BBB=bbb
>> --myvar=MYVAR
>
> Hans


___________________________________________________________________________________
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
___________________________________________________________________________________


  reply	other threads:[~2011-01-08 18:12 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-05 19:22 Procházka Lukáš
2011-01-05 20:11 ` Peter Münster
2011-01-07  8:32   ` Procházka Lukáš Ing. - Pontex s. r. o.
2011-01-07  8:48     ` luigi scarso
2011-01-07  9:15     ` Peter Münster
2011-01-07 21:58     ` Hans Hagen
2011-01-08 18:12       ` Procházka Lukáš [this message]
2011-01-09 21:03         ` Hans Hagen
2011-01-05 20:41 ` Wolfgang Schuster
2011-01-06  7:39   ` Procházka Lukáš Ing. - Pontex s. r. o.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=op.voz4uczt8lgizc@lk-2008-nbk \
    --to=lpr@pontex.cz \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).