Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > ARGF.classクラス > inplace_mode=
inplace_mode=(ext)[permalink][rdoc]ARGF/インプレースエディットモード時にバックアップファイルに付加する拡張子を設定します。 ピリオドも含めて指定する必要があります。
バックアップを残さない場合は空文字列を指定します。 この機能は Windows では使用出来ません。
設定が有効になるのは次のファイルの処理に移った時です。 インプレースモードに入っていない場合はその時点でモードに入ります。
Ruby 起動時の -i オプションで設定することも出来ます。
$ ruby argf.rb file.txt
---- argf.rb ----
# 引数のファイル中の各行の最初の "foo" を "bar" で置き換える
ARGF.inplace_mode = '.bak'
ARGF.lines do |line|
print line.sub("foo","bar")
end
---- -i オプションを使う場合 ----
$ ruby -i.bak -p -e '$_.sub!("foo","bar")' file.txt
---- -i オプションを使う場合その2 ----
$ ruby -i.bak -n -e 'print $_.sub("foo","bar")' file.txt
[SEE_ALSO] Rubyの起動/コマンドラインオプション, ARGF.class#inplace_mode