検索結果
先頭5件
-
Object
:: STDERR -> IO (26175.0) -
標準エラー出力。$stderr のデフォルト値。 $stderr も参照してください。
...準エラー出力。$stderr のデフォルト値。 $stderr も参照してください。
STDERR は、 ruby プロセスが起動された時点での標準エラー出力を表します。
起動時点では $stderr も同じ値に初期化されています。
$stderr に他の出力オブ......トを代入することで簡易なリダイレクトを実現できます。
そして、 $stderr に STDERR を代入すればこのリダイレクトを復元できるわけです。
=== 注意
STDERR は ruby 自体が起動された時点での標準エラー出力です。
「システムに......ステムでは標準のエラー出力ストリームは端末です。
ruby 自体が他のストリームに向けてエラー出力をリダイレクトされた状態で起動された場合、
STDERR が保持するのは端末ではなく、リダイレクト先のストリームです。... -
Kernel
$ $ stderr -> object (14197.0) -
標準エラー出力です。
...。
初期値は Object::STDERR です。
$stderr に代入するオブジェクトには
write という名前のメソッドが定義されていなければいけません。
自プロセスの標準エラー出力をリダイレクトしたいときには、
$stderr に代入すれば十分で......$stderr = File.open("/tmp/foo", "w")
puts "foo" # 出力する
$stderr = STDERR # 元に戻す
//}
自プロセスだけでなく、子プロセスの標準エラー出力も
リダイレクトしたいときは以下のように IO#reopen を使います。
//emlist[例][ruby]{
$stderr.......uby]{
stderr_old = $stderr.dup # 元の $stderr を保存する
$stderr.reopen("/tmp/foo") # $stderr を /tmp/foo にリダイレクトする
puts "foo" # /tmp/foo に出力
$stderr.flush # 念のためフラッシュする
$stderr.reopen stderr_old... -
Kernel
. # spawn(env , program , *args , options={}) -> Integer (8060.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
...トを実現できます。
: :close_others
これを true に設定すると
リダイレクトされていない、0(stdin), 1(stdout), 2(stderr) 以外の
ファイルデスクリプタをすべて閉じます。
true がデフォルトです。
=== option引数によるリダイレク......セス側です。
//emlist[][ruby]{
# 以下の例はすべて stderr を stdout にリダイレクトします
pid = spawn(command, :err=>:out)
pid = spawn(command, 2=>1)
pid = spawn(command, STDERR=>:out)
pid = spawn(command, STDERR=>STDOUT)
//}
この例では子プロセス側の stdout には......and, :out=>"/dev/null") # write mode
pid = spawn(command, :err=>"log") # write mode
pid = spawn(command, 3=>"/dev/null") # read mode
//}
stdout と stderr をリダイレクトした場合は、
ファイルは write mode で open されます。それ以外の場合は
read mode で open されま......トを実現できます。
: :close_others
これを true に設定すると
リダイレクトされていない、0(stdin), 1(stdout), 2(stderr) 以外の
ファイルデスクリプタをすべて閉じます。
false がデフォルトです。
: :exception
Kernel.#system のみで... -
Kernel
. # spawn(program , *args) -> Integer (8060.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
...トを実現できます。
: :close_others
これを true に設定すると
リダイレクトされていない、0(stdin), 1(stdout), 2(stderr) 以外の
ファイルデスクリプタをすべて閉じます。
true がデフォルトです。
=== option引数によるリダイレク......セス側です。
//emlist[][ruby]{
# 以下の例はすべて stderr を stdout にリダイレクトします
pid = spawn(command, :err=>:out)
pid = spawn(command, 2=>1)
pid = spawn(command, STDERR=>:out)
pid = spawn(command, STDERR=>STDOUT)
//}
この例では子プロセス側の stdout には......and, :out=>"/dev/null") # write mode
pid = spawn(command, :err=>"log") # write mode
pid = spawn(command, 3=>"/dev/null") # read mode
//}
stdout と stderr をリダイレクトした場合は、
ファイルは write mode で open されます。それ以外の場合は
read mode で open されま......トを実現できます。
: :close_others
これを true に設定すると
リダイレクトされていない、0(stdin), 1(stdout), 2(stderr) 以外の
ファイルデスクリプタをすべて閉じます。
false がデフォルトです。
: :exception
Kernel.#system のみで... -
Exception
. to _ tty? -> bool (8032.0) -
$stderr が変更されておらず、$stderr.tty? が真の場合は true を返します。
...$stderr が変更されておらず、$stderr.tty? が真の場合は true を返します。
[注意] 2.5.1 で追加されたメソッドです。
@see Exception#full_message......$stderr が変更されておらず、$stderr.tty? が真の場合は true を返します。
@see Exception#full_message... -
Exception
# full _ message(highlight: true , order: :bottom) -> String (8030.0) -
例外の整形された文字列を返します。
...た例外を標準エラー出力に出力するときと
同じ形式です。
そのため、メソッド呼び出し時に $stderr が変更されておらず、$stderr.tty? が真の場合は
エスケープシーケンスによる文字装飾がついています。
[注意] このメソッド......t recent call last):\ntest.rb:2:in `<main>': \e[1mtest (\e[4;1mRuntimeError\e[m\e[1m)\n\e[m"
$stderr = $stdout
p e.full_message # => "test.rb:2:in `<main>': test (RuntimeError)\n"
$stderr = STDERR
p e.full_message # => "\e[1mTraceback \e[m(most recent call last):\ntest.rb:2:in `<main>':......た例外を標準エラー出力に出力するときと
同じ形式です。
そのため、メソッド呼び出し時に $stderr が変更されておらず、$stderr.tty? が真の場合は
エスケープシーケンスによる文字装飾がついています。
@param highlight エスケ... -
Kernel
. # warn(*message) -> nil (8028.0) -
message を 標準エラー出力 $stderr に出力します。 $VERBOSE フラグ が nil のときは何も出力しません。
...message を 標準エラー出力 $stderr に出力します。 $VERBOSE
フラグ が nil のときは何も出力しません。
文字列以外のオブジェクトが引数として与えられた場合には、
to_s メソッドにより文字列に変換してから出力します。
この......メソッドは以下と同じです。
//emlist[][ruby]{
$stderr.puts(*message) if !$VERBOSE.nil? && !message.empty?
nil
//}
@param message 出力するオブジェクトを任意個指定します。
@raise IOError 標準エラー出力が書き込み用にオープンされていなければ発......生します。
@raise Errno::EXXX 出力に失敗した場合に発生します。
//emlist[例][ruby]{
warn "caution!" #=> caution!
$VERBOSE = nil
warn "caution!" # 何もしない
//}
@see $stderr,$VERBOSE......生します。
@raise Errno::EXXX 出力に失敗した場合に発生します。
//emlist[例][ruby]{
warn "caution!" #=> caution!
$VERBOSE = nil
warn "caution!" # 何もしない
//}
@see Warning#warn, $stderr,$VERBOSE... -
Kernel
. # warn(*message , uplevel: nil) -> nil (8028.0) -
message を 標準エラー出力 $stderr に出力します。 $VERBOSE フラグ が nil のときは何も出力しません。
...message を 標準エラー出力 $stderr に出力します。 $VERBOSE
フラグ が nil のときは何も出力しません。
文字列以外のオブジェクトが引数として与えられた場合には、
to_s メソッドにより文字列に変換してから出力します。
upleve......l を指定しない場合は、
このメソッドは以下と同じです。
//emlist[][ruby]{
$stderr.puts(*message) if !$VERBOSE.nil? && !message.empty?
nil
//}
@param message 出力するオブジェクトを任意個指定します。
@param uplevel いくつ前の呼び出し元のファイ......い
//}
//emlist[uplevel の例][ruby]{
def foo
warn("test message", uplevel: 0) # => test.rb:2: warning: test message
warn("test message", uplevel: 1) # => test.rb:6: warning: test message
warn("test message", uplevel: 2) # => test message
end
foo
//}
@see Warning#warn, $stderr,$VERBOSE... -
Kernel
. # warn(*message , uplevel: nil , category: nil) -> nil (8028.0) -
message を 標準エラー出力 $stderr に出力します。 $VERBOSE フラグ が nil のときは何も出力しません。
...message を 標準エラー出力 $stderr に出力します。 $VERBOSE
フラグ が nil のときは何も出力しません。
文字列以外のオブジェクトが引数として与えられた場合には、
to_s メソッドにより文字列に変換してから出力します。
upleve......l を指定しない場合は、
このメソッドは以下と同じです。
//emlist[][ruby]{
$stderr.puts(*message) if !$VERBOSE.nil? && !message.empty?
nil
//}
@param message 出力するオブジェクトを任意個指定します。
@param uplevel いくつ前の呼び出し元のファイ......eprecated] = true # 非推奨の警告を表示する
warn("deprecated!!", category: :deprecated)
# => deprecated!
Warning[:deprecated] = false # 非推奨の警告を表示しない
warn("deprecated!!", category: :deprecated)
# 警告は出力されない
//}
@see Warning#warn, $stderr,$VERBOSE... -
Thread
. report _ on _ exception -> bool (8022.0) -
真の時は、いずれかのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
...は、いずれかのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
デフォルトは false です。
Thread.new { 1.times { raise } }
は $stderr に以下のように出力します:
#<Thread:...> terminated with exception (report_on_ex......は、いずれかのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
デフォルトは true です。
Thread.new { 1.times { raise } }
は $stderr に以下のように出力します:
#<Thread:...> terminated with exception (report_on_exc... -
Thread
. report _ on _ exception=(newstate) (8022.0) -
真の時は、いずれかのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
...は、いずれかのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
デフォルトは false です。
Thread.new { 1.times { raise } }
は $stderr に以下のように出力します:
#<Thread:...> terminated with exception (report_on_ex......は、いずれかのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
デフォルトは true です。
Thread.new { 1.times { raise } }
は $stderr に以下のように出力します:
#<Thread:...> terminated with exception (report_on_exc... -
Warning
. warn(message) -> nil (8022.0) -
引数 message を標準エラー出力 $stderr に出力します。
...引数 message を標準エラー出力 $stderr に出力します。
本メソッドはRubyが出力する全ての警告に対して呼び出されます。
そのため本メソッドをオーバーライドすることで Ruby から出力される警告の動作を変更できます。
また......オーバーライドしたメソッドからは super を呼び出すことで、デフォルトの動作である $stderr への出力ができます。
//emlist[][ruby]{
warn "hoge" # => hoge
module Warning
# 警告メッセージの末尾に !!! を追加する
def self.warn(message)
s... -
Warning
. warn(message , category: nil) -> nil (8022.0) -
引数 message を標準エラー出力 $stderr に出力します。
...引数 message を標準エラー出力 $stderr に出力します。
本メソッドはRubyが出力する全ての警告に対して呼び出されます。
そのため本メソッドをオーバーライドすることで Ruby から出力される警告の動作を変更できます。
また......オーバーライドしたメソッドからは super を呼び出すことで、デフォルトの動作である $stderr への出力ができます。
//emlist[][ruby]{
module Warning
# 警告メッセージに category を表示し、message 末尾に !!! を追加する
def self.warn(mess... -
Warning (8018.0)
-
警告を出力するためのモジュールです。
...ォルトでは全ての警告が $stderr に出力されます。
Warning.warn をオーバーライドする事で Ruby から出力される警告の動作を変更する事ができます。例えばエラーメッセージのフィルタリングや、$stderr 以外に警告を出力といっ......た変更が可能です。Warning.warn をオーバーライドする際は super を呼び出すとデフォルトの動作である $stderr への出力ができます。...