Programmer Guide/Command Reference/READ: Difference between revisions

From STX Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
{{DISPLAYTITLE:{{SUBPAGENAME}}}}
{{DISPLAYTITLE:{{SUBPAGENAME}}}}
  READ <var>file</var> <var>varseplist</var> [/D] [ /N ] [ /E[=<var>escapeseq</var>] ] [ /S ] [ /R=<var>x</var> ]
  READ <var>file</var> <var>varseplist</var> [ /Delete ] [ /Noparsing ] [ /Escape[=<var>escapechar</var>] ] [ [[Programmer_Guide/Command_Reference_Options/Silent|/Silent]] ] [ /R=<var>x</var> ]
   
   
  READSTR <var>string</var> <var>varseplist</var> [/D] [ /N ] [ /E[=<var>escapeseq</var>] ] [ /S ][ /R=<var>x</var> ]
  READSTR <var>string</var> <var>varseplist</var> [ /Delete ] [ /Noparsing ] [ /Escape[=<var>escapechar</var>] ] [ [[Programmer_Guide/Command_Reference_Options/Silent|/Silent]] ][ /R=<var>x</var> ]
   
   
  READVAR <var>var</var> <var>varseplist</var> [/D] [ /N ] [ /E[=<var>escapeseq</var>] ] [ /S ] [ /R=<var>x</var> ]
  READVAR <var>var</var> <var>varseplist</var> [ /Delete ] [ /Noparsing ] [ /Escape[=<var>escapechar</var>] ] [ [[Programmer_Guide/Command_Reference_Options/Silent|/Silent]] ] [ /R=<var>x</var> ]
   
   
  READTAB <var>table</var> <var>iEntry</var> <var>varseplist</var> [/D] [ /N ] [ /E[=<var>escapeseq</var>] ] [ /S ]
  READTAB <var>table</var> <var>iEntry</var> <var>varseplist</var> [ /Delete ] [ /Noparsing ] [ /Escape[=<var>escapechar</var>] ] [ [[Programmer_Guide/Command_Reference_Options/Silent|/Silent]] ]
   
   
  READTAB <var>table</var> <var>iField</var> <var>varseplist</var> /C [/D] [ /N ] [ /E[=<var>escapeseq</var>] ] [ /S ]
  READTAB <var>table</var> <var>iField</var> <var>varseplist</var> /Config [ /Delete ] [ /Noparsing ] [ /Escape[=<var>escapechar</var>] ] [ [[Programmer_Guide/Command_Reference_Options/Silent|/Silent]] ]
   
   
  READTAB <var>table</var> <var>iEntry</var> <var>iField</var> <var>varseplist</var> /F [/D] [ /N ] [ /E[=<var>escapeseq</var>] ] [ /S ]
  READTAB <var>table</var> <var>iEntry</var> <var>iField</var> <var>varseplist</var> /Field [ /Delete ] [ /Noparsing ] [ /Escape[=<var>escapechar</var>] ] [ [[Programmer_Guide/Command_Reference_Options/Silent|/Silent]] ]


The <code>READ</code> command and its variants <code>READSTR</code>, <code>READTAB</code> and <code>READVAR</code> parse data into variables:
The <code>READ</code> command and its variants <code>READSTR</code>, <code>READTAB</code> and <code>READVAR</code> parse data into variables:
Line 44: Line 44:
  // #READ := 2
  // #READ := 2


;<code>/N</code>
;<code>/Noparsing</code>
:If specified, no parsing, stripping or escape character handling takes place. The contents of the first argument are assigned to the second argument.
:If specified, no parsing, stripping or escape character handling takes place. The contents of the first argument are assigned to the second argument.


;<code>/D</code>
;<code>/Delete</code>
:If specified, the contents (if any) of the variables specified in <var>varseplist</var> are deleted before parsing.
:If specified, the contents (if any) of the variables specified in <var>varseplist</var> are deleted before parsing.


;<code>/E</code>
;<code>/Escape=<var>escapechar</var></code>
:You can define an escape character using the /E option. E.g. defining '<code>\</code>' as the escape character will change parsing as follows:
:You can define an escape character using the <code>/E</code> option. E.g. defining '<code>\</code>' as the escape character will change parsing as follows:


  READSTR 'a b \, c' #a','#b /D
  READSTR 'a b \, c' #a','#b /D
Line 63: Line 63:
:The default escape character is the back-tick character, "<code>`</code>"
:The default escape character is the back-tick character, "<code>`</code>"


;<code>/C</code>
;<code>/Config</code>
:If specified, the contents of the table field's configuration is used as the input.
:If specified, the contents of the table field's configuration is used as the input.


;<code>/F</code>
;<code>/Field</code>
:If specified, the contents of the addressed entry field is used as the input.
:If specified, the contents of the addressed entry field is used as the input.


;<code>/S</code>
;<code>[[Programmer_Guide/Command_Reference_Options/Silent|/Silent]]</code>
:If specified, errors will generate warning messages rather than error messages. See The Silent Flag for details.
:If specified, errors will generate warning messages rather than error messages. See [[Programmer_Guide/Command_Reference_Options/Silent|The Silent Flag]] for details.


;<code>/T</code>
;<code>/T</code>

Revision as of 16:19, 28 April 2014

READ file varseplist [ /Delete ] [ /Noparsing ] [ /Escape[=escapechar] ] [ /Silent ] [ /R=x ]

READSTR string varseplist [ /Delete ] [ /Noparsing ] [ /Escape[=escapechar] ] [ /Silent ][ /R=x ]

READVAR var varseplist [ /Delete ] [ /Noparsing ] [ /Escape[=escapechar] ] [ /Silent ] [ /R=x ]

READTAB table iEntry varseplist [ /Delete ] [ /Noparsing ] [ /Escape[=escapechar] ] [ /Silent ]

READTAB table iField varseplist /Config [ /Delete ] [ /Noparsing ] [ /Escape[=escapechar] ] [ /Silent ]

READTAB table iEntry iField varseplist /Field [ /Delete ] [ /Noparsing ] [ /Escape[=escapechar] ] [ /Silent ]

The READ command and its variants READSTR, READTAB and READVAR parse data into variables:

  • The READ command parses the next line of an input file file, replacing the linefeed character (\n) with a string terminator (\0).
  • The READSTR command interprets the first parameter as a string, parsing it into the other parameters.
  • The READVAR command interprets the first parameter as a variable name, parsing the contents of the respective variable into the other parameters.
  • The READTAB command takes a table name and entry index as the first two parameters, and parses the contents of the respective table entry into the remaining parameters.

The parameter varsepplist is a list of variables to assign values to, and of separators to parse the input with. For example, the following command reads an input string into three variables, using the default separator (the blank):

READSTR 'a b c' #1 #2 #3
// #1 := a, #2 := b, #3 := c, #READ := 3

If separators are specified, the string is tokenised accordingly:

#var := set '10/8/2008 19:14'
READVAR #var #day'/'#month'/'#year' '#hour':'#minute

If there are more tokens than variables, all remaining tokens are stored in the last variable:

#var := set 'the big brown fox'
READVAR #var #1 #2 #3
// #1 := the,  #2 := big, #3 := brown fox, #READ := 3

The number of variables to which tokens were assigned is stored in the local variable #READ.

READSTR  #1 #2
// #READ := 0
READSTR 'a' #1 #2
// #READ := 1
READSTR 'a b c' #1 #2
// #READ := 2
/Noparsing
If specified, no parsing, stripping or escape character handling takes place. The contents of the first argument are assigned to the second argument.
/Delete
If specified, the contents (if any) of the variables specified in varseplist are deleted before parsing.
/Escape=escapechar
You can define an escape character using the /E option. E.g. defining '\' as the escape character will change parsing as follows:
READSTR 'a b \, c' #a','#b /D
// #a := a b \
// #b := c
// #READ := 2
READSTR 'a b \, c' #a','#b /D /E=\
// #a := a b \, c
// #b := 
// #READ := 1
The default escape character is the back-tick character, "`"
/Config
If specified, the contents of the table field's configuration is used as the input.
/Field
If specified, the contents of the addressed entry field is used as the input.
/Silent
If specified, errors will generate warning messages rather than error messages. See The Silent Flag for details.
/T
If specified, arguments will *not* have their left and right white space trimmed. The default is that they are trimmed.

For more READ examples, see the read_example.sts script.

Navigation menu

Personal tools