入出力の対象を操作する引数コマンド < 引数コマンド一覧 < [click go-back button to go-back] < Viiviの小部屋 < 入り口 / Entrance
Viivi
ここで説明する引数コマンドは標準入力元,標準出力先,標準エラー出力先,および転写
出力先を操作するために使用します.
説明の中での入力元や出力先は,その種類によらず
<TARGET>
という記号で統一して表します.
各
<TARGET>
は
Viivi 入出力対象
のいずれかで,
具体的には,
ファイル,
ネットワークポート,
仮想入出力ポート
のいずれかを示します.
以下に引数コマンドをアルファベット順に示します.
各使用例では簡単のためにすべてカーネルモード
-K
を指定してありますが,特に説明がない限り,IDE モード
-G
についても同様に使うことができます.
-a <TARGET>
記号
a
は "argument-command script" の頭文字です.
パラメタ
<TARGET>
として指定した引数コマンドスクリプトファイルを読み込み,
その中に書かれた引数コマンドスクリプトを
引数コマンドスクリプトファイルには
.vacs
(Viivi argument-command script
の略)
という拡張子をつけることをお勧めします.
[例]
$ viivi -K -a experiment3.vacs
ファイル
「experiment3.vacs
」
内の引数コマンドスクリプトを読み込んで順次実行します.
[同機能]
この機能は引数コマンドでしか使えません.-e <TARGET>
記号
e
は "error-output" の頭文字です.
標準エラー出力先を指定された
<TARGET>
へ切り替えます.
[例]
$ viivi -K -e errorOutput.txt
標準エラー出力先をファイル
「errorOutput.txt
」
へ切り替えたあと,標準入力からの入力を評価します.
[例]
$ viivi -K -e /dev/stdout -i test.scm
標準エラー出力先をファイル
「/dev/stdout
」(Unix 系プラットフォームでは標準出力)
へ切り替えたあと,ファイル
「test.scm
」
の内容を評価します.
[例]
$ viivi -K -e suuritammi:59637
標準エラー出力先をホスト
「suuritammi
」
のネットワークポート
59637
番へ切り替えたあと,標準入力からの入力を評価します.
[例]
$ viivi -K -e 192.168.20.51:59494
標準エラー出力先をホスト
「192.168.20.51
」
のネットワークポート
59494
番へ切り替えたあと,標準入力からの入力を評価します.
[例]
$ viivi -K -e :29914
標準エラー出力先を自ホスト
(localhost
)
のネットワークポート
235967
番へ切り替えたあと,標準入力からの入力を評価します.
$ viivi -K -e localhost:29914
と同じです.
[同機能]
この機能は引数コマンドでしか使えません.-f <TARGET>
記号
f
は "file input" の頭文字です.
指定された
<TARGET>
からの入力を評価したあと,
標準入力からの入力を評価します.
引数コマンドとして複数個の入力元が与えられていて,その中にひとつでも
-f
で指定したものが含まれていたら,
引数コマンドとして与えられたすべての入力元からの入力を順番に評価したあとの最後に
標準入力からの入力を評価します.
[例]
$ viivi -K -f ../scheme/first.scm
まずファイル
「../scheme/first.scm
」
の内容を評価したあと,標準入力からの入力を評価します.
[例]
$ viivi -K -f prepare.scm -i test1.scm
まずファイル
「prepare.scm
」
の内容を評価したあと,ファイル
「test1.scm
」
の内容を評価し,最後に標準入力からの入力を評価します. $ viivi -K -f prepare.scm test1.scm
と同じです.
[例]
$ viivi -K -f :11291
自ホスト
(localhost
)
のネットワークポート
11291
番からの入力を評価したあと,標準入力からの入力を評価します.
[同機能]
この機能は引数コマンドでしか使えません.-i <TARGET>
記号
i
は "input" の頭文字です.
指定された
<TARGET>
からの入力を評価します.
[例]
$ viivi -K -i tools.scm -i main.scm
まずファイル
「tools.scm
」
の内容を評価し,その後ファイル
「main.scm
」
の内容を順に評価します. $ viivi -K -i tools.scm main.scm
$ viivi -K tools.scm main.scm
と同じです.
[例]
$ viivi -K -i :46497
自ホスト
(localhost
)
のネットワークポート
46497
番からの入力を評価します.
$ viivi -K -i localhost:46497
$ viivi -K localhost:46497
$ viivi -K :46497
と同じです.
[同機能]
この機能は引数コマンドでしか使えません.-L <TARGET>
記号
L
は "library" の頭文字です.
指定された
<TARGET>
から「ライブラリ入力」したあと,引き続き与えられた入力を評価します.
引き続き行われるべき入力の対象が指定されていない場合には
標準入力からの入力を評価します.
「ライブラリ入力」では,通常なら評価中に行われるべき出力が
(標準出力/標準エラー出力への出力も,副作用による出力も)
一切行われません.
この引数コマンドの目的は,既に充分テストされた信頼できる Scheme コードを
ライブラリとしてあらかじめ読み込んでおく方法を提供することです.
ユーザはライブラリによる内部の効果だけに興味があって出力結果には興味がないはずなので,
出力を全く行わないこの引数コマンドを使ってプログラム本体で使う道具を用意しておけば便利です.
評価中の出力も必要なときには入力のための他の引数コマンド
-i
や
-f
をお使いください.
[例]
$ viivi -K -L characters.scm -L dungeonMap3.scm -i rpg.scm
ファイル
「characters.scm
」
および
「dungeonMap3.scm
」
からライブラリ入力したあと,
ファイル
「rpg.scm
」
の内容を評価します.
[例]
$ viivi -K -L /usr/local/lib/scheme/fft.slib -i frqAnlz.scm
「/usr/local/lib/scheme/
」
内にあるファイル
「fft.slib
」
からライブラリ入力したあと,
ファイル
「frqAnlz.scm
」
の内容を評価します..slib
」
がついていますが,これはこのファイルが充分にテストされた信頼できる
Scheme ライブラリとして区別されていることを示します.
[同機能]
この機能は引数コマンドでしか使えません.-O <TARGET>
記号
O
(大文字のアルファベット O)
は "output" の頭文字です.
標準出力先を指定された
<TARGET>
へ切り替えます.
指定されたファイルが既に存在していたときには内容は上書きされます
から注意してください.
既存のファイルの内容を保持したまま新たな出力をファイルの末尾へ追加する場合には
別の引数コマンド
-o
をお使いください.
[例]
$ viivi -K -O output.kekka
標準出力先をファイル output.kekka へ切り替えた後,標準入力からの入力を評価します.
[例]
$ viivi -K -O kotkanpoika:42809
標準標準出力先をホスト
kotkanpoika
のネットワーク・ポート
42809
番へ切り替えた後,標準入力からの入力を評価します. $ viivi -K -o kotkanpoika:42809
と同じです.
[例]
$ viivi -K -i foo.scm -O bar.data -i baz.scm
最初にファイル
foo.scm
の内容が評価されます.bar.scm
へ切り替えてからファイル
baz.scm
の内容が評価されます.bar.scm
が存在していた場合にはその内容は上書きされます.
[同機能]
この機能は引数コマンドでしか使えません.-o <TARGET>
記号
o
(小文字のアルファベット o)
は "output" の頭文字です.
標準出力先を指定された
<TARGET>
へ切り替えます.
指定されたファイルが既に存在していたときには内容が追記されます
.
既存のファイルの内容を上書きする場合には別の引数コマンド
-O
をお使いください.
[例]
$ viivi -K -o output.kekka
標準出力先をファイル output.kekka へ切り替えた後,標準入力からの入力を評価します.
[例]
$ viivi -K -o 192.168.12.34:56789
標準出力先を IP アドレス
192.168.12.34
のホストのネットワーク・ポート
56789
番へ切り替えたあと,標準入力からの入力を評価します. $ viivi -K -O 192.168.12.34:56789
と同じです.
[例]
$ viivi -K -o dst1.txt -i src1.scm -o dst2.txt -i src2.scm
最初に標準出力先をファイル
「dst1.txt
」
へ切り替えてから,ファイル
「src1.scm
」
の内容を評価します.dst2.txt
」
へ切り替えてから,ファイル
「src2.scm
」
の内容を評価します.dst1.txt
」 や
「dst2.txt
」
が既に存在している場合には,出力内容はそれぞれのファイルの末尾へ追加されます. $ viivi -K -i src1.scm -o dst1.txt -i src2.scm -o dst2.txt #WRONG!
入力元のファイル
「src1.scm
」
の評価結果はデフォルトの標準出力ポートへ書き出されます.src2.scm
」
の評価結果は出力先のファイル
「dst1.txt
」
へ書き出されます.dst2.txt
」
へは何も書き出されません.
[同機能]
この機能は引数コマンドでしか使えません.-p <TARGET>
記号
p
は "project" の頭文字です.
パラメタ
<TARGET>
として指定したプロジェクトファイルを読み込み,
その中に書かれたプロジェクトの設定で Viivi を立ち上げます.
このプロジェクト指定は IDE モードでしか使えませんから
-G
を指定する必要はありません.
プロジェクトファイルには
.vprj
(Viivi project
の略)
という拡張子をつけることをお勧めします.
[例]
$ viivi -p nn2layers.vprj
ファイル
nn2layers.vprj
内に指定されたプロジェクトの設定で IDE を立ち上げます.
[同機能]
この機能は引数コマンドでしか使えません.-t <TARGET>
記号
t
は "transcript" (「転写」の意味) の頭文字です.
パラメタ
<TARGET>
として指定した出力先へ転写出力を開始します.
指定した転写出力先が既存のファイルの場合には,出力内容は常にファイルの末尾へ追記されます.
既に転写出力が別の出力先へ行われている場合には,
その出力先を閉じてから指定された出力先を新たに開きます.
[例]
$ viivi -K -t carbonCopy.log
転写出力先をファイル
「carbonCopy.log
」
に設定して転写出力を開始したあと,標準入力からの入力を評価します.
[同機能]
・手続き呼び出し: (transcript-on <TARGET>)
-tX
記号
t
は "transcript" (「転写」の意味) の頭文字で,
X
は「閉じる」処理を表します.
現在の転写出力ポートを閉じます.
転写出力ポートが開かれていなかった場合には何もしません.
[同機能]
・手続き呼び出し: (transcript-off)
-x <SCHEME-CODE>
記号
x
は "execution" (「実行」の意味) の頭文字です.
入力する Scheme コードを引数コマンド上にパラメタ
<SCHEME-CODE>
として直接与えるためのものです.
現版では使えなくしてあります.
<TARGET> <TARGET> ...
引数コマンド列の末尾でのみ,入力のための
<TARGET>
群が連続して現れる場合には,各
<TARGET>
の前の引数コマンド
i
を省略することができます.
[例]
$ viivi -K heidi.scm klara.scm peter.scm
ファイル群
「heidi.scm
」,
「klara.scm
」,
「peter.scm
」
の内容を順次評価します.
$ viivi -K -i heidi.scm -i klara.scm -i peter.scm
と同じです.
[例]
$ viivi -K :17771 paul.scm :17772 elizabeth.scm
自ホスト
(localhost
) のネットワークポート
17771
番からの入力,
ファイル
「paul.scm
」の内容,
自ホスト
(localhost
) のネットワークポート
17772
番からの入力
ファイル
「elizabeth.scm
」の内容を
順次評価します.
$ viivi -K -i :17771 -i paul.scm -i :17772 -i elizabeth.scm
と同じです.
[同機能]
この機能は引数コマンドでしか使えません.入出力の対象を操作する引数コマンド < 引数コマンド一覧 < [click go-back button to go-back] < Viiviの小部屋 < 入り口 / Entrance
2022/03/02 開設
Copyright(C) 2003-2022 ilma <ilma@viivi.io> All rights reserved.