Programmer Guide/Command Reference/KEYWORD: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:{{SUBPAGENAME}}}} | {{DISPLAYTITLE:{{SUBPAGENAME}}}}=== Searching for a keyword or its abbreviation === | ||
=== Searching for a keyword or its abbreviation === | |||
The <code>KEYWORD</code> command searches for a keyword, or for the (non-unique) abbreviation of a keyword, in a list of keywords. It is supplied a single string <var>testValue</var> (the keyword to search, or its abbreviation), and a list of blank-separated keywords, <var>keywordList</var>. The command returns the zero-based index of the first keyword in <var>keywordList</var> equal to (if option <code>/Full</code> is supplied), or starting with, <var>testValue</var>. If <var>keywordList</var> does not contain an appropriate keyword, the command will return -1. | The <code>KEYWORD</code> command searches for a keyword, or for the (non-unique) abbreviation of a keyword, in a list of keywords. It is supplied a single string <var>testValue</var> (the keyword to search, or its abbreviation), and a list of blank-separated keywords, <var>keywordList</var>. The command returns the zero-based index of the first keyword in <var>keywordList</var> equal to (if option <code>/Full</code> is supplied), or starting with, <var>testValue</var>. If <var>keywordList</var> does not contain an appropriate keyword, the command will return -1. |
Revision as of 15:42, 11 April 2011
Searching for a keyword or its abbreviation
The KEYWORD
command searches for a keyword, or for the (non-unique) abbreviation of a keyword, in a list of keywords. It is supplied a single string testValue (the keyword to search, or its abbreviation), and a list of blank-separated keywords, keywordList. The command returns the zero-based index of the first keyword in keywordList equal to (if option /Full
is supplied), or starting with, testValue. If keywordList does not contain an appropriate keyword, the command will return -1.
var := KEYWORD [ /Full [ /Casesensitive ] ] /- testValue keywordList
- testValue
- the keyword to locate in keywordList, or its abbreviation. Note that the
KEYWORD
command does not expect a unique abbreviation - it will simply return the first keyword starting withtestValue
, even if there are dozens more. - keywordList
- a blank-separated list of keywords
/Full
- if specified, the function searches for the first entry exactly equal to testValue, meaning that abbreviations will not be found.
/Casesensitive
- If used in conjunction with
/Full
, the comparison is case sensitive.
// will return 0, because "toll" starts with "to" #index := keyword /- to toll too to Toledo // will return 2, because "/Full" looks for strict equality #index := keyword /Full /- to toll too to Toledo // will return -1, because the keyword list does not contain "To" #index := keyword /Full /Casesensitive /- To toll too to Toledo // will return 0, because "/Casesensitive" is valid only with "/Full" #index := keyword /Casesensitive /- To toll too to Toledo
Checking for the presence of an index
Instead of a keyword, or its abbreviation, the KEYWORD
command may be supplied an integer. It will then check if this integer is a valid index in the respective keyword list. If this is the case, it will return the unmodified index. Otherwise, it will return -1.
var := KEYWORD index keywordList