Rubyインタプリタは以下のコマンドラインオプションを受け付けま す.基本的にPerlのものと良く似ています.
$/
')の8進数で指定します.
数字を指定しない場合はヌルキャラクタがセパレータになります.
数の後に他のスイッチがあっても構いません.
-00で, パラグラフモード, -0777で
(そのコードを持つ文字は存在しないので)全ファイルを一度に読み
込むモードに設定できます.
$F = $_.splitが実行されます.`-n'か`-p'オプションが同時に指定されない限り, このオプションは意味を持ちません.
このオプションは将来文字コードの取扱いが変更された場合等には 変更される可能性があります.
$DEBUG
'がセットされます.
$;
')の値を文字列にセッ
トします.
例:
% echo matz > /tmp/junk % cat /tmp/junk matz % ruby -p -i.bak -e '$_.upcase!' /tmp/junk % cat /tmp/junk MATZ % cat /tmp/junk.bak matz
$:
')に追加されます.
$\
'を
`$/
'と同じ値に設定し, print
での出力
時に改行を付加するようにします.それから, -n
フラグまたは-p
フラグが指定されていると
gets
で読み込まれた各行の最後に対して
chop!
を行います.
while gets ... endで囲まれているように動作します.
-n
フラグとほぼ同じだが, 各ループの最後に変数`$_
'
の値を出力するようになります.
例:
% echo matz | ruby -p -e '$_.tr! "a-z", "A-Z"' MATZ
require
します.
`-n'オプション,`-p'オプションとともに使う時に特に有効です.
$ARGV
'から取り除かれます.
例:
#! /usr/local/bin/ruby -s # prints "true" if invoked with `-xyz' switch. print "true\n" if $xyz
PATH
の値を使ってスクリプトを探すことを指定しま
す. これは、`#!'をサポートしていないマシンで、
`#!' による実行をエミュレートするために、以下の
ようにして使うことができます:
#!/bin/sh exec ruby -S -x $0 "$@" #! ruby
システムは最初の行により,スクリプトを/bin/sh
に渡します./bin/sh
は2行目を実行しRubyインタプリタを起動します.
Rubyインタプリタは-x
オプションにより`#!'で始まり, "ruby"という文字列を含む行までを
読み飛ばします.
システムによっては $0は必ずしもフルパスを含まな いので,`-S'を用いてRubyに必要に応じてスクリプトを探すように 指示する必要があります.
$VERBOSE
をTRUEにセットします.この変数がTRUEで
ある時, いくつかのメソッドは実行時に冗長なメッセージを出力し
ます.`-v'オプションが指定されて, それ以外の引数がない時には
バージョンを表示した後, 実行を終了します(標準入力からのスク
リプトを待たない).
EOF
(ファイル
の終り), ^D
(コントロールD), ^Z
(コ
ントロールZ)または予約語__END__
で指定されます.
ディレクトリ名を指定すると,スクリプト実行前に指定されたディ
レクトリに移動します.