Difference between revisions of "Programmer Guide/Command Reference/WRITE"

From STX Wiki
Jump to navigation Jump to search
Line 2: Line 2:
 
  WRITE <var>file</var> <var>text</var> [/Newline &hellip; /Newline]
 
  WRITE <var>file</var> <var>text</var> [/Newline &hellip; /Newline]
 
  WRITE <var>file</var> <var>format</var> <var>args</var> /Format [/Newline &hellip; /Newline]
 
  WRITE <var>file</var> <var>format</var> <var>args</var> /Format [/Newline &hellip; /Newline]
 
+
 +
WRITE [/Newline &hellip; /Newline] [[Programmer_Guide/Command_Reference_Options/-|/-]] <var>file</var> <var>text</var>
 +
WRITE  /Format [/Newline &hellip; /Newline] [[Programmer_Guide/Command_Reference_Options/-|/-]] <var>file</var> <var>format</var> <var>args</var>
 
This {{Stx}} command writes (hence its name) text to a file assigned to a file item. If ''no'' <code>/Newline</code> option is specified, the text of the next <code>WRITE</code> command will be placed in the same line. Format strings are described in [[Programmer_Guide/General_Descriptions/Format_Strings_and_Rules|Format Strings and Rules]].
 
This {{Stx}} command writes (hence its name) text to a file assigned to a file item. If ''no'' <code>/Newline</code> option is specified, the text of the next <code>WRITE</code> command will be placed in the same line. Format strings are described in [[Programmer_Guide/General_Descriptions/Format_Strings_and_Rules|Format Strings and Rules]].
  
Line 9: Line 11:
  
 
;<var>text</var>
 
;<var>text</var>
:The output text (unformatted, written "as is").
+
:The output text (unformatted, written "as is"). Must not start with a slash, unless you are using the [[Programmer_Guide/Command_Reference_Options/-|"end of options" option, <code>/-</code>]].
  
 
;<var>format</var>
 
;<var>format</var>
:The format string (see [[Programmer_Guide/General_Descriptions/Format_Strings_and_Rules|Format Strings and Rules]]). There ''must'' be a corresponding <var>args</var> argument for each "% format" tag in <var>format</var> because{{Stx}} will not check if the number of arguments supplied matches the given <var>format</var> string and will, hence, crash heavily if there is any mistake.
+
:The format string (see [[Programmer_Guide/General_Descriptions/Format_Strings_and_Rules|Format Strings and Rules]]). There ''must'' be a corresponding <var>args</var> argument for each "% format" tag in <var>format</var> because{{Stx}} will not check if the number of arguments supplied matches the given <var>format</var> string and will, hence, crash heavily if there is any mistake. Must not start with a slash, unless you are using the [[Programmer_Guide/Command_Reference_Options/-|"end of options" option, <code>/-</code>]].
  
 
;<var>args</var>
 
;<var>args</var>
:The arguments (one for each format tag in <var>format</var>). Note that {{STx}} will not check if the number of arguments supplied matches the given <var>format</var> string and will, hence, crash heavily if there is any mistake.
+
:The arguments (one for each format tag in <var>format</var>). Note that {{STx}} will not check if the number of arguments supplied matches the given <var>format</var> string and will, hence, crash heavily if there is any mistake. Furthermore, no argument must start with a slash, unless, of course, you are using the [[Programmer_Guide/Command_Reference_Options/-|"end of options" option, <code>/-</code>]].
  
 
== Example ==
 
== Example ==

Revision as of 14:58, 8 May 2014

WRITE file text [/Newline … /Newline]
WRITE file format args /Format [/Newline … /Newline]

WRITE [/Newline … /Newline] /- file text
WRITE  /Format [/Newline … /Newline] /- file format args

This STx command writes (hence its name) text to a file assigned to a file item. If no /Newline option is specified, the text of the next WRITE command will be placed in the same line. Format strings are described in Format Strings and Rules.

file
The name of a file item (must, obviously, be open for write access).
text
The output text (unformatted, written "as is"). Must not start with a slash, unless you are using the "end of options" option, /-.
format
The format string (see Format Strings and Rules). There must be a corresponding args argument for each "% format" tag in format becauseSTx will not check if the number of arguments supplied matches the given format string and will, hence, crash heavily if there is any mistake. Must not start with a slash, unless you are using the "end of options" option, /-.
args
The arguments (one for each format tag in format). Note that STx will not check if the number of arguments supplied matches the given format string and will, hence, crash heavily if there is any mistake. Furthermore, no argument must start with a slash, unless, of course, you are using the "end of options" option, /-.

Example

#f := $(new file * test.txt /T /W)WRITE $#f 'this is %d format for %3.0f numbers' 1 0.2*10 /Newline /Format

The line "this is 1 format for 2 numbers" will be written to the file. Note that this is also an example of horribly bad programming style, not checking if the inline NEW FILE command succeeded, and happily executing garbage when it did not.