Arguments (System function): Difference between revisions
mNo edit summary |
m (guess subtitle, syntax and footer template names, match syntax terms to template, lots of tags and edits.) |
||
Line 1: | Line 1: | ||
{{Template:System:Arguments subtitle}} | |||
The <var>Arguments</var> shared function returns the arguments passed in the <code>INCLUDE</code> command for the procedure that contained the <code>Begin</code> statement for the current request. | |||
< | |||
< | |||
==Syntax== | |||
{{Template:System:Arguments syntax}} | |||
===Syntax Terms=== | |||
<table class="syntaxTable"> | |||
<tr><th>%string</th><td>A string to receive the arguments passed on the INCLUDE command.</td></tr> | |||
<tr><th>%(system)</th><td>The class name in parentheses denotes a shared method.</td></tr> | |||
</table> | |||
< | |||
< | ==Usage Notes== | ||
< | |||
< | |||
< | |||
</ | |||
<ul> | <ul> | ||
<li> | <li><var>Arguments</var> provides functionality similar to that provided by <code>??</code> dummy string arguments, with some important differences: | ||
by | |||
<ul> | <ul> | ||
<li>It is processed at evaluation time, not compile time. | <li>It is processed at evaluation time, not compile time. | ||
<li>The entire argument string is returned in one string, providing much more | <li>The entire argument string is returned in one string, providing much more flexibility in how the argument list is parsed. | ||
flexibility in how the argument list is parsed. | <li><var>Arguments</var> does not “eat” the arguments. That is, it can be invoked as often as you want, and it always returns the same values for a particular request invocation. | ||
<li>Arguments does not “eat” the arguments. | <li><var>Arguments</var> does not prompt the user for arguments if none were specified; it simply returns a null. This makes it possible for arguments to be optional. | ||
That is, it can be invoked as often as you want, and it always returns the same values | <li><var>Arguments</var> makes request invocation arguments available to procedures Included by the outermost evaluating procedure. | ||
for a particular request invocation. | |||
<li>Arguments does not prompt the user for arguments if none were specified; | |||
it simply returns a null. | |||
This makes it possible for arguments to be optional. | |||
<li>Arguments makes request invocation arguments available to procedures | |||
Included by the outermost evaluating procedure. | |||
</ul> | </ul> | ||
<li>As shown in the | <li>As shown in the [[Arguments_(System_function)#Example|Examples]] section, below, the Arguments method returns everything after the INCLUDEd procedure name, including any blanks or commas after the procedure name. | ||
the Arguments method returns everything after the INCLUDEd procedure name, | <li><var>Arguments</var> is available in <var class="product">[[Sirius Mods|"Sirius Mods"]]</var> Version 7.2 and later. | ||
including any blanks or commas after the procedure name. | |||
</ul> | </ul> | ||
==Examples== | |||
If procedure FOO contains the following: | <ol><li>If procedure FOO contains the following: | ||
<p class="code"> | <p class="code">begin | ||
printText {~} = '{%(system):arguments}' | printText {~} = '{%(system):arguments}' | ||
end | end | ||
</p> | |||
The requests (preceded by >) below produce the outputs shown | The requests (preceded by >) below produce the outputs shown on the line that follows the request: | ||
on the line that follows the request: | <p class="code">> I FOO This is a test | ||
<p class="code" | |||
%(system):arguments = ' This is a test' | %(system):arguments = ' This is a test' | ||
Line 65: | Line 45: | ||
> I FOO | > I FOO | ||
%(system):arguments = '' | %(system):arguments = '' | ||
</ | </p> | ||
<li>Note that the same values, above, would be printed if FOO contained: | |||
Note that the same values, above, would be printed if FOO contained: | <p class="code">begin | ||
<p class="code"> | i fooInner | ||
i fooInner | |||
end | end | ||
</p> | |||
and procedure FOOINNER contained: | and procedure FOOINNER contained: | ||
<p class="code" | <p class="code">printText {~} = '{%(system):arguments}' | ||
</ | </p> | ||
</ol> | |||
==See also== | |||
{{Template:System:Arguments footer}} |
Revision as of 00:51, 19 March 2011
The arguments passed to this request (System class)
The Arguments shared function returns the arguments passed in the INCLUDE
command for the procedure that contained the Begin
statement for the current request.
Syntax
%string = %(System):Arguments
Syntax Terms
%string | A string to receive the arguments passed on the INCLUDE command. |
---|---|
%(system) | The class name in parentheses denotes a shared method. |
Usage Notes
- Arguments provides functionality similar to that provided by
??
dummy string arguments, with some important differences:- It is processed at evaluation time, not compile time.
- The entire argument string is returned in one string, providing much more flexibility in how the argument list is parsed.
- Arguments does not “eat” the arguments. That is, it can be invoked as often as you want, and it always returns the same values for a particular request invocation.
- Arguments does not prompt the user for arguments if none were specified; it simply returns a null. This makes it possible for arguments to be optional.
- Arguments makes request invocation arguments available to procedures Included by the outermost evaluating procedure.
- As shown in the Examples section, below, the Arguments method returns everything after the INCLUDEd procedure name, including any blanks or commas after the procedure name.
- Arguments is available in "Sirius Mods" Version 7.2 and later.
Examples
- If procedure FOO contains the following:
begin printText {~} = '{%(system):arguments}' end
The requests (preceded by >) below produce the outputs shown on the line that follows the request:
> I FOO This is a test %(system):arguments = ' This is a test' > I FOO,This is a test %(system):arguments = ',This is a test' > I FOO This is a test %(system):arguments = ' This is a test' > I FOO This,is,a,test %(system):arguments = ' This,is,a,test' > I FOO %(system):arguments =
- Note that the same values, above, would be printed if FOO contained:
begin i fooInner end
and procedure FOOINNER contained:
printText {~} = '{%(system):arguments}'