warn(*message, uplevel: nil, category: nil) -> nil
[permalink][rdoc][edit]-
message を 標準エラー出力 $stderr に出力します。 $VERBOSE フラグ が nil のときは何も出力しません。
文字列以外のオブジェクトが引数として与えられた場合には、 to_s メソッドにより文字列に変換してから出力します。
uplevel を指定しない場合は、このメソッドは以下と同じです。
$stderr.puts(*message) if !$VERBOSE.nil? && !message.empty? nil
- [PARAM] message:
- 出力するオブジェクトを任意個指定します。
- [PARAM] uplevel:
- いくつ前の呼び出し元のファイル名と行番号を表示するかを0以上の数値で指定します。 nil の場合は表示しません。
- [PARAM] category:
- 警告のカテゴリを指定します。サポートされている category については Warning.[] を参照してください。
- [EXCEPTION] IOError:
- 標準エラー出力が書き込み用にオープンされていなければ発生します。
- [EXCEPTION] Errno::EXXX:
- 出力に失敗した場合に発生します。
warn "caution!" #=> caution! $VERBOSE = nil warn "caution!" # 何もしない
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
Warning[:deprecated] = true # 非推奨の警告を表示する warn("deprecated!!", category: :deprecated) # => deprecated! Warning[:deprecated] = false # 非推奨の警告を表示しない warn("deprecated!!", category: :deprecated) # 警告は出力されない
[SEE_ALSO] Warning#warn, $stderr,$VERBOSE