Ruby 4.0 リファレンスマニュアル

instance method ARGF.class#inplace_mode

inplace_mode -> String | nilRuby 1.9.1 から[permalink][rdoc][edit]

ARGF/インプレースエディットモード で書き換えるファイルのバックアップに付加される拡張子を返します。拡張子が設定されていない場合は空文字列を返します。インプレースモードでない場合は nil を返します。

Ruby 起動時の -i オプション や ARGF.class#inplace_mode= で設定します。

# $ echo "test" > test.txt
# $ ruby -i.bak test.rb test.txt
# $ cat test.txt # => "TEST"
# $ cat test.txt.bak # => "test"

# test.rb
p ARGF.inplace_mode                 # => ".bak"
p ARGF.each_line {|e|print e.upcase}  # => "TEST"
# $ echo "test" > test.txt
# $ ruby test.rb test.txt
# $ cat test.txt # => "test"

# test.rb
p ARGF.inplace_mode                 # => nil
p ARGF.each_line {|e|print e.upcase}  # => "TEST"

[SEE_ALSO] Rubyの起動/コマンドラインオプション, ARGF.class#inplace_mode=