listGet: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 4: Line 4:
|description=
|description=
Returns the value in the [[Macros:string list|string list]] at the specified index. The index for a [[Macros:string list|string list]] starts at 0.
Returns the value in the [[Macros:string list|string list]] at the specified index. The index for a [[Macros:string list|string list]] starts at 0.
Known Bug: If you use a whitespace character like a SPACE or TAB, listGet will pull the wrong indexed value.
<source lang="mtmacro" line>
[H: a = "1 2  4 5"]
[r: listGet(a,3," ")]
</source>
Output is 5, when it should be 4 because of the 2 SPACE characters counting as 1.


|usage=
|usage=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
listGet(list, index)
listGet(list, index)
</source>
</syntaxhighlight>
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
listGet(list, index, delim)
listGet(list, index, delim)
</source>
</syntaxhighlight>


If delim is not specified then the default value of ',' is used as the value separator in the [[Macros:string list|string list]]
If delim is not specified then the default value of ',' is used as the value separator in the [[Macros:string list|string list]]


|example=
|example=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[r: listGet("This, is, a , test", 2)]
[r: listGet("This, is, a , test", 2)]
</source>
</syntaxhighlight>
Returns a
Returns {{code|a}}


<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[r: listGet("This: is: a :test", 1, ":")]  
[r: listGet("This: is: a :test", 1, ":")]  
</source>
</syntaxhighlight>
Returns is
Returns {{code|is}}
 
===Known Bug===
If you use a whitespace character like a SPACE or TAB, listGet can pull the wrong indexed value.
<syntaxhighlight lang="mtmacro" line>
[h: list = "0 1  3 4"]
[r: listGet(list, 3, " ")]
</syntaxhighlight>
The output should be 3, but it is 4 because of the two SPACE characters being treated as one. Consequently this skips over an empty entry.
}}
}}
[[Category:String List Function]]
[[Category:String List Function]]

Latest revision as of 17:51, 15 March 2023

listGet() Function

Introduced in version 1.3b42
Returns the value in the string list at the specified index. The index for a string list starts at 0.

Usage

listGet(list, index)
listGet(list, index, delim)

If delim is not specified then the default value of ',' is used as the value separator in the string list

Example

[r: listGet("This, is, a , test", 2)]

Returns a

[r: listGet("This: is: a :test", 1, ":")]

Returns is

Known Bug

If you use a whitespace character like a SPACE or TAB, listGet can pull the wrong indexed value.

[h: list = "0 1  3 4"]
[r: listGet(list, 3, " ")]
The output should be 3, but it is 4 because of the two SPACE characters being treated as one. Consequently this skips over an empty entry.