ライブラリ
- ビルトイン (121)
- csv (11)
-
io
/ console (33) -
irb
/ input-method (22) - open3 (154)
- scanf (12)
- socket (33)
-
webrick
/ cgi (11)
クラス
-
ARGF
. class (11) - CSV (11)
- IO (55)
-
IRB
:: InputMethod (11) - Module (11)
- Object (11)
- Socket (22)
-
Socket
:: AncillaryData (11) - String (11)
-
WEBrick
:: CGI (11)
キーワード
-
$ stdin (11) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - Open3 (11)
-
STDIN
_ FILE _ NAME (11) - capture2 (11)
- capture2e (11)
- capture3 (11)
- chr (11)
- constants (11)
- cooked (11)
- file (11)
- fileno (11)
- new (22)
- noecho (11)
-
pipeline
_ rw (22) -
pipeline
_ w (22) - popen2 (22)
- popen2e (22)
- popen3 (22)
- raw (11)
-
ruby 1
. 6 feature (11) - scanf (12)
- spawn (44)
- start (11)
-
to
_ i (11) - unix (22)
-
unix
_ rights (11) - 多言語化 (11)
検索結果
先頭5件
-
Open3
. # capture2(*cmd) -> [String , Process :: Status] (6218.0) -
cmdで指定されたコマンドを実行し、そのプロセスの標準出力とプロセスの終了 ステータスを表すオブジェクトを返します。
...指定します。
@return 実行したコマンドの標準出力と終了ステータスを表すオブジェクトを
配列で返します。
指定された引数はopts[:stdin_data]とopts[:binmode]以外は全て
Open3.#popen3に渡されます。opts[:stdin_data]は実行するコ......ode]を真に指定されると内部で使用される
パイプをバイナリモードに指定します。
例:
require "open3"
# factorコマンドで与えられた数値(42)を素因数分解する。
o, s = Open3.capture2("factor", :stdin_data=>"42")
p o #=> "42: 2 3 7\n"
Open3.......#popen3と同様に引数に環境変数とオプションを指定してコマンド
を実行する事ができます。
@see Open3.#popen3... -
Open3
. # pipeline _ w(*cmds) -> [IO , [Thread]] (6213.0) -
指定したコマンドのリストをパイプで繋いで順番に実行します。最初の コマンドの標準入力に書き込む事ができます。
...ます。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
cmdname にはコマンド名を表す St......定します。
1、2、3 は shell 経由で実行されます。
(1) commandline
(2) [commandline, options]
(3) [env, commandline, options]
(4) [env, cmdname, arg1, arg2, ..., options]
(5) [env, [cmdname, argv0], arg1, ..., options]
@return ブロックを指定した場合は......た場合は最初に実行するコマンドの標準入力、
実行したプロセスを待つためのスレッドの配列を配列で返します。
例:
require "open3"
Open3.pipeline_w("bzip2 -c", :out=>"/tmp/hello.bz2") {|w, ts|
w.puts "hello"
}
@see Open3.#popen3... -
ARGF
. class # file -> IO (6206.0) -
現在開いている処理対象の File オブジェクト(または IO オブジェ クト)を返します。
...いている処理対象の File オブジェクト(または IO オブジェ
クト)を返します。
$ echo "foo" > foo
$ echo "bar" > bar
$ ruby argf.rb foo bar
ARGF.file # => #<File:foo>
ARGF.read(5) # => "foo\nb"
ARGF.file # => #<File:bar>
ARGFが現在開いてい......る処理対象が標準入力の場合、$stdin を返します。... -
IO
# cooked {|io| . . . } -> object (6206.0) -
cooked モードを有効にして指定されたブロックを評価します。
...cooked モードを有効にして指定されたブロックを評価します。
ブロック引数には self が渡されます。ブロックを評価した結果を返します。
@raise LocalJumpError ブロックを指定しなかった場合に発生します。
以下の例では、標......準入力からエコーバック付きで文字列を一行読み込みます。
require "io/console"
STDIN.cooked(&:gets)... -
IO
# fileno -> Integer (6206.0) -
ファイル記述子を表す整数を返します。
...ファイル記述子を表す整数を返します。
@raise IOError 既に close されている場合に発生します。
//emlist[例][ruby]{
$stdin.fileno # => 0
$stdout.fileno # => 1
//}......ファイル記述子を表す整数を返します。
@raise IOError 既に close されている場合に発生します。
//emlist[例][ruby]{
$stdin.fileno # => 0
$stdout.fileno # => 1
//}
@see Dir#fileno... -
Open3 (6024.0)
-
プログラムを実行し、そのプロセスの標準入力・標準出力・ 標準エラー出力にパイプをつなぎます。
...require "open3"
stdin, stdout, stderr = *Open3.popen3('nroff -man')
# こちらから書く
Thread.fork {
File.foreach('/usr/man/man1/ruby.1') do |line|
stdin.print line
end
stdin.close # または close_write
}
# こちらから読む
stdout.each do |line|......print line
end... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (5556.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への変更点(まとめ)/サポートプラットフォームの追加>))
.../$defout>)) [obsolete]
: ((<組み込み変数/$deferr>)) [obsolete]
: ((<組み込み変数/$stdout>)) [change]
: ((<組み込み変数/$stderr>)) [change]
: ((<組み込み変数/$stdin>)) [change]
$stdout, $stderr は、$defout, $deferr の別名になり
$defout, $deferr は ((<obsolete>))......ました
$stdin は、普通のグローバル変数となりました(STDINをリダイレクトする
動作はなくなりました)
$defout や $deferr に代入を行うと警告がでます。
(注:1.6 に $deferr はありません)
((<ruby-dev:20961>))
$stdin にオブジ......と標準入力からの入力メソッド(gets 等)
はそのオブジェクトにメソッドを投げます。
(リダイレクトしなくなった点を除けば、1.6 とそれほど違いはないようです)
: ((<組み込み変数/$VERBOSE>))
三段階のレベルを持つように... -
WEBrick
:: CGI # start(env = ENV , stdin = $ stdin , stdout = $ stdout) -> () (3514.0) -
自身に定義されたサービスを実行します。
...rt メソッドは service メソッドを呼び出し、service メソッドはリクエストに応じて
do_XXX メソッドを呼び出します。このようにして CGI スクリプトは実行されます。
@param env CGI スクリプトが受け取った Meta-Variables (環境変数)を......保持したハッシュか、
それと同じ [] メソッドを持ったオブジェクトを指定します。
@param stdin リクエストデータの入力元を IO オブジェクトで指定します。
@param stdout レスポンスデータの出力先を IO オブジェクト... -
多言語化 (3482.0)
-
多言語化 Ruby は US-ASCII はもちろん、US-ASCII 以外の文字エンコーディングもサポートしています。 文字列の内部表現のエンコーディングは固定されておらず、 プログラマは目的に応じて使用するエンコーディングを選ぶことができます。
...多言語化
Ruby は US-ASCII はもちろん、US-ASCII 以外の文字エンコーディングもサポートしています。
文字列の内部表現のエンコーディングは固定されておらず、
プログラマは目的に応じて使用するエンコーディングを選ぶこ......。
同じプロセスの中で異なるエンコーディングの文字列が同時に存在することができます。
全ての String や Regexp などのオブジェクトは自身のエンコーディング情報を保持しています。
これにより各オブジェクト内の文字......イルの shebang から
スクリプトエンコーディングは以下のように決定されます。左が優先です。
magic comment(最優先) > -K > RUBYOPTの-K > shebang
上のどれもが指定されていない場合、通常のスクリプトなら UTF-8、-e や stdin から実... -
Kernel
. # spawn(env , program , *args , options={}) -> Integer (3218.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
...。
env に Hash を渡すことで、exec(2) で子プロセス内で
ファイルを実行する前に環境変数を変更することができます。
Hash のキーは環境変数名文字列、Hash の値に設定する値とします。
nil とすることで環境変数が削除(unsetenv(3......でリダイレクトを実現できます。
: :close_others
これを true に設定すると
リダイレクトされていない、0(stdin), 1(stdout), 2(stderr) 以外の
ファイルデスクリプタをすべて閉じます。
true がデフォルトです。
=== option引数によ......:err => [:child, :out]
とすると、子プロセスの stderr を子プロセスの stdout にリダイレクトします。
これを用いて、IO.popen で、子プロセスの
stderr と stdout を混ぜる例を以下に示します。
//emlist[][ruby]{
io = IO.popen(["sh", "-c", "echo out; e......できます。
: :close_others
これを true に設定すると
リダイレクトされていない、0(stdin), 1(stdout), 2(stderr) 以外の
ファイルデスクリプタをすべて閉じます。
false がデフォルトです。
: :exception
Kernel.#system のみで指定でき...