種類
ライブラリ
クラス
- CSV (11)
- Exception (14)
-
File
:: Stat (11) - IO (11)
- Logger (11)
-
Logger
:: Application (1) -
Net
:: HTTP (11) -
Net
:: POP3 (11) - Object (11)
-
RDoc
:: Options (11) -
Rake
:: Application (11) -
Socket
:: AncillaryData (33) - Thread (24)
-
WEBrick
:: CGI (11) -
WIN32OLE
_ TYPE (11)
キーワード
-
$ -d (11) -
$ DEBUG (11) -
$ stderr (11) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - CSV (11)
-
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 3
. 1 . 0 (3) - Open3 (11)
- abort (22)
- application (11)
- chardev? (11)
- fork (22)
- int (22)
- logger (22)
- new (22)
- optparse (11)
- pid (11)
- popen2e (22)
- popen3 (22)
- progids (11)
-
report
_ on _ exception (16) -
report
_ on _ exception= (8) -
set
_ debug _ output (22) -
set
_ log (1) - spawn (44)
-
to
_ tty? (7) -
try
_ cpp (22) -
try
_ link (22) -
unix
_ rights (11) - warn (38)
- 制御構造 (11)
検索結果
先頭5件
-
Object
:: STDERR -> IO (18275.0) -
標準エラー出力。$stderr のデフォルト値。 $stderr も参照してください。
...準エラー出力。$stderr のデフォルト値。 $stderr も参照してください。
STDERR は、 ruby プロセスが起動された時点での標準エラー出力を表します。
起動時点では $stderr も同じ値に初期化されています。
$stderr に他の出力オブ......トを代入することで簡易なリダイレクトを実現できます。
そして、 $stderr に STDERR を代入すればこのリダイレクトを復元できるわけです。
=== 注意
STDERR は ruby 自体が起動された時点での標準エラー出力です。
「システムに......ステムでは標準のエラー出力ストリームは端末です。
ruby 自体が他のストリームに向けてエラー出力をリダイレクトされた状態で起動された場合、
STDERR が保持するのは端末ではなく、リダイレクト先のストリームです。... -
Kernel
$ $ stderr -> object (6297.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
$ $ -d -> bool (6112.0) -
この値が真のときはインタプリタがデバッグモードになります。
...この値が真のときはインタプリタがデバッグモードになります。
コマンドラインオプション -d でセットされます。
スクリプトから代入することもできます。
デバッグモードでは、通常モードに比べて以下の違いがあり......rt_on_exception= の効果がなくなります。
* 例外を捕捉しているかどうかに関係なく、
例外が発生した時点で $stderr にそれが出力されます。
スクリプトの処理は続行されます。
この変数はグローバルスコープです。
@see s... -
Kernel
$ $ DEBUG -> bool (3112.0) -
この値が真のときはインタプリタがデバッグモードになります。
...この値が真のときはインタプリタがデバッグモードになります。
コマンドラインオプション -d でセットされます。
スクリプトから代入することもできます。
デバッグモードでは、通常モードに比べて以下の違いがあり......rt_on_exception= の効果がなくなります。
* 例外を捕捉しているかどうかに関係なく、
例外が発生した時点で $stderr にそれが出力されます。
スクリプトの処理は続行されます。
この変数はグローバルスコープです。
@see s... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (2550.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...み込み変数/$deferr>)) [obsolete]
: ((<組み込み変数/$stdout>)) [change]
: ((<組み込み変数/$stderr>)) [change]
: ((<組み込み変数/$stdin>)) [change]
$stdout, $stderr は、$defout, $deferr の別名になり
$defout, $deferr は ((<obsolete>)) になりました
$stdin......作はなくなりました)
$defout や $deferr に代入を行うと警告がでます。
(注:1.6 に $deferr はありません)
((<ruby-dev:20961>))
$stdin にオブジェクトを代入すると標準入力からの入力メソッド(gets 等)
はそのオブジェクトにメソ......: 警告を出力しない (-W0 新しい警告レベル)
* false: 重要な警告のみ出力 (-W1 デフォルト)
* true: すべての警告を出力する (-W2 or -W or -v or -w or --verbose)
追加された -W オプションは $VERBOSE = nil の指定(-W0)を可能にします。
:... -
optparse (264.0)
-
コマンドラインのオプションを取り扱うためのライブラリです。
...以下はオプション -a, -b を受け付けるコマンドを作成する例です。
//emlist[sample.rb][ruby]{
require 'optparse'
opt = OptionParser.new
opt.on('-a') {|v| p v }
opt.on('-b') {|v| p v }
opt.parse!(ARGV)
p ARGV
//}
↓
ruby sample.rb -a foo bar -b baz
# => true......の例で、-b はオプションと
して認識されている)。ただし、環境変数 POSIXLY_CORRECT が定義してあると
この挙動は変更されます。
env POSIXLY_CORRECT=1 ruby ./sample.rb -a foo bar -b baz
# => true # -a はオプ......nParser.new
parser.on('-i') { puts "-i" }
parser.on('-o') { puts '-o' }
subparsers = Hash.new {|h,k|
$stderr.puts "no such subcommand: #{k}"
exit 1
}
subparsers['add'] = OptionParser.new.on('-i') { puts "add -i" }
subparsers['del'] = OptionParser.new.on('-i') { puts "del -i" }
subparsers['list'... -
NEWS for Ruby 3
. 1 . 0 (258.0) -
NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...private def foo = puts "Hello" はパースされないことに注意してください。 17398
== コマンドラインオプション
* --disable-gems は"デバッグ専用"として明示的に宣言されました。デバッグ専用以外のコードでは使用しないでください......メソッドです。このメソッドを直接呼び出さないでください。既存のforkメソッド(Kernel.#fork、Process.fork、IO.popen("-"))によって呼び出されます。アプリケーションモニタリングライブラリは、このメソッドを上書きしてforkイベ......でない限り、STDERRに出力されるようになりました。 17798
* ruby -run -e httpd はアクセスされた時にURLを出力するようになりました。 17847
* IRB::Color.colorize_code を使ってRubyのコードをカラー化するために ruby -run -e colorize が追... -
optparse (252.0)
-
コマンドラインのオプションを取り扱うためのライブラリです。
...以下はオプション -a, -b を受け付けるコマンドを作成する例です。
//emlist[sample.rb][ruby]{
require 'optparse'
opt = OptionParser.new
opt.on('-a') {|v| p v }
opt.on('-b') {|v| p v }
opt.parse!(ARGV)
p ARGV
//}
↓
ruby sample.rb -a foo bar -b baz
# => true......の例で、-b はオプションと
して認識されている)。ただし、環境変数 POSIXLY_CORRECT が定義してあると
この挙動は変更されます。
env POSIXLY_CORRECT=1 ruby ./sample.rb -a foo bar -b baz
# => true # -a はオプ......nParser.new
parser.on('-i') { puts "-i" }
parser.on('-o') { puts '-o' }
subparsers = Hash.new {|h,k|
$stderr.puts "no such subcommand: #{k}"
exit 1
}
subparsers['add'] = OptionParser.new.on('-i') { puts "add -i" }
subparsers['del'] = OptionParser.new.on('-i') { puts "del -i" }
subparsers['list'... -
Open3
. # popen3(*cmd) {|stdin , stdout , stderr , wait _ thr| . . . } -> () (237.0) -
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー 出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の 配列で返します。
...したプロセスを待つためのスレッドを 4 要素の
配列で返します。
require 'open3'
stdin, stdout, stderr, wait_thr = *Open3.popen3("/usr/bin/nroff -man")
@param cmd 実行するコマンドを指定します。
@return ブロックを指定した場合はブロックの......re 'open3'
Open3.popen3("read stdin; echo stdout; echo stderr >&2") {|stdin, stdout, stderr, wait_thr|
stdin.puts "stdin"
stdin.close # または close_write
p stdout.read
p stderr.read
}
#=> "stdout\n"
"stderr\n"
stdin への入力が終わったらできる限り... -
Open3
. # popen2e(*cmd) {|stdin , stdout _ and _ stderr , wait _ thr| . . . } -> () (201.0) -
cmdで指定されたコマンドを実行し、そのプロセスの標準入力・標準出力と標準 エラーにパイプをつなぎます。Open3.popen3に似ていますが、標準出力と標準 エラーが1つの変数で扱われます。
cmdで指定されたコマンドを実行し、そのプロセスの標準入力・標準出力と標準
エラーにパイプをつなぎます。Open3.popen3に似ていますが、標準出力と標準
エラーが1つの変数で扱われます。
@param cmd 実行するコマンドを指定します。
@return ブロックを指定した場合はブロックの最後に評価された値を返します。
ブロックを指定しなかった場合は標準入力、標準出力と標準エラーに
接続されたパイプと実行したプロセスを待つためのスレッドを返しま
す。
Open3.#popen3と同様に引数に環境変数とオプションを指定してコマンド
... -
Kernel
. # spawn(env , program , *args , options={}) -> Integer (172.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 には......t]
とすると、子プロセスの stderr を子プロセスの stdout にリダイレクトします。
これを用いて、IO.popen で、子プロセスの
stderr と stdout を混ぜる例を以下に示します。
//emlist[][ruby]{
io = IO.popen(["sh", "-c", "echo out; echo err >&2", :err=>......トを実現できます。
: :close_others
これを true に設定すると
リダイレクトされていない、0(stdin), 1(stdout), 2(stderr) 以外の
ファイルデスクリプタをすべて閉じます。
false がデフォルトです。
: :exception
Kernel.#system のみで...