EXPRLN expr [filename]* [option]*
第一パラメータをTSEXPR式の連続として解釈して、
入力ファイルの各行を計算し、標準出力する。
ファイル名を省略すると標準入力を扱う。
通常は式の値を常に出力するが、出力行を抑制する検定モードを指定できる(-P)。
入力行内で有効な制御コードはタブのみ。それ以外は入力時に読み飛ばされる。
行を一まとめの文字列として扱うので、テキスト処理などに向いている。
{ TSEXPR式; }+;で区切って第一パラメータに記述する。また、#記述を行った場合、複数行の記述が可能だが、 このとき、改行は半角スペースに置きかえられるので注意すること。
実行に先立って初期化式を実行できる(-I)。
また、実行の最後に値を出力できる(-F)。
実行の最後だけの値を出力する場合には、各行の出力を抑制すればよい(-S)。
複数の式を書けるが、最初の式を特別扱いして、以降の実行の有無を制御するモードがある。
標準の行単位のほかに、メモリ中にファイルを読み込んで処理するモードがある。
| 引数 | 略記 | 変数名 | 説明 |
|---|---|---|---|
| 1 | @1 |
??line |
現在の行 |
| 0 | &0 |
??gln |
通算行番号 |
| -1 | &(-1) |
??ln |
ファイル内行番号 |
| -2 | &(-2) |
?fn |
ファイル番号 |
| -3 | @(-3) |
??filename |
処理中のファイル名 |
| -10 | &(-10) |
??lastlinep |
最終行で真 |
| -11 | SYS(-11) |
??off |
出力抑制フラグをオンにする |
| -12 | SYS(-12) |
??on |
出力抑制フラグをオフにする |
| -13 | @(-13) |
|
次の行に移行する。次の行を返す。 次の行がない場合、""を返す。 |
SYSBOOL(-13) |
|
次の行に移行する。 次の行があれば真を、無ければ偽を返す。 新しい行の値は、@1で参照できる |
|
|
??next |
次の行に移行する。次の行を返す。 次の行がない場合、FALSEを返す。 |
|
|
??print |
出力の許可状態を表す論理値。
行の計算式、初期化式などそれぞれの場合に固有である。
??print := bool 値 |
|
bool SPOOL(str 文字列 )
|
文字列を直接出力する。 | ||
-Z)で一括読み込みを指定できる。一つのファイルをまとめて読み込む。| 引数 | 略記 | 変数名 | 説明 |
|---|---|---|---|
| 1 以上 | @n |
|
指定番号の行。 |
SYSBOOL(n) |
|
指定番号の行。行があれば真、無ければ偽。 | |
| 0 | &0 |
??gln |
読み込んだ通算行数 |
| -1 | &(-1) |
??ln |
該当ファイル行数 |
| -2 | &(-2) |
??fn |
ファイル番号 |
| -3 | @(-3) |
??filename |
処理中のファイル名 |
| -11 | &(-11) |
??off |
出力抑制フラグをオンにする |
| -12 | &(-12) |
??on |
出力抑制フラグをオフにする |
|
??print |
出力の許可状態を表す論理値。
行の計算式、初期化式などそれぞれの場合に固有である。
??print := bool 値 |
|
bool SPOOL(str 文字列 )
|
文字列を直接出力する。 | ||
-ZC)では一括読み込みをし、さらに、行数分だけ、着目行番号を増加させながら、式処理を繰り返す。| 引数 | 略記 | 変数名 | 説明 |
|---|---|---|---|
| 1 以上 | @n |
|
指定番号の行。存在しない行では""。 |
SYSBOOL(n) |
|
行が存在すれば真、存在しなければ偽。 | |
| 0 | &0 |
??line |
処理中の行 |
| -1 | &(-1) |
??ln |
該当ファイル行数 |
| -2 | &(-2) |
??fn |
ファイル番号 |
| -3 | @(-3) |
??filename |
処理中のファイル名 |
| -4 | &(-4) |
??cl |
着目行番号(1〜) |
| -11 | SYS(-11) |
??off |
出力抑制フラグをオンにする |
| -12 | SYS(-12) |
??on |
出力抑制フラグをオフにする |
|
??print |
出力の許可状態を表す論理値。
行の計算式、初期化式などそれぞれの場合に固有である。
??print := bool 値 |
|
bool SPOOL(str 文字列 )
|
文字列を直接出力する。 | ||
-ZA)ではすべての行を連結して一つの文字列にして読み込む。行末には"\n"を付加する。式処理はファイルに対して一度だけ評価する。| 引数 | 略記 | 変数名 | 説明 |
|---|---|---|---|
| 1 以上 | @1 |
??line |
読み込んだデータ。 |
| 0 | &0 |
??gln |
読み込んだ通算行数 |
| -1 | &(-1) |
??ln |
該当ファイル行数 |
| -2 | &(-2) |
??fn |
ファイル番号 |
| -3 | @(-3) |
??filename |
処理中のファイル名 |
| -11 | SYS(-11) |
??off |
出力抑制フラグをオンにする |
| -12 | SYS(-12) |
??on |
出力抑制フラグをオフにする |
|
??print |
出力の許可状態を表す論理値。
行の計算式、初期化式などそれぞれの場合に固有である。
??print := bool 値 |
|
bool SPOOL(str 文字列 )
|
文字列を直接出力する。 | ||
-B{tsexpr;}+-E{tsexpr;}+-F{tsexpr;}+-I{tsexpr;}+-L{S|C|L}| -LS | デフォルト。不要のコードを除去。LFを行末とみなす。CRは無視する。 |
| -LC | コードの変更をしない。CRLFを行末として扱う。 |
| -LL | コードの変更をしない。LFを行末として扱う。 |
-NOEOL-Ofilename-P-Rstr-S[+|-]-SB[+|-]-SE[+|-]-SI[+|-]
-SF[+|-]-Tstr-X-V-Z-ZA-ZC| Ver 1.02 | 2012/06/26 | -L で入力行の扱いを変更できるようにした。 |
| Ver 1.01 | 2012/04/30 | 初期化/終了化でのcallback修正。 外部変数 ??print を導入。 |
| Ver 1.00 | 初版 |