ライブラリ
- ビルトイン (136)
- csv (11)
-
io
/ console (33) -
irb
/ input-method (22) - open3 (154)
- scanf (12)
- socket (33)
-
webrick
/ cgi (11)
クラス
-
ARGF
. class (22) - CSV (11)
- IO (59)
-
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)
- path (2)
-
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) -
to
_ io (11) -
to
_ path (2) - unix (22)
-
unix
_ rights (11) - 多言語化 (11)
検索結果
先頭5件
-
Object
:: STDIN -> IO (18275.0) -
標準入力。$stdin のデフォルト値。 $stdin も参照してください。
...標準入力。$stdin のデフォルト値。 $stdin も参照してください。
STDIN は、 ruby プロセスが起動された時点での標準入力を表します。
起動時点では $stdin も同じ値に初期化されています。
$stdin に他の入力オブジェクトを代入......することで簡易なリダイレクトを実現できます。
そして、 $stdin に STDIN を代入すればこのリダイレクトを復元できるわけです。
=== 注意
STDIN は ruby 自体が起動された時点での標準入力です。
「システムにおける標準の入力......す。
多くのシステムでは標準の入力ストリームは端末です。
ruby 自体が他のストリームに向けて入力をリダイレクトされた状態で起動された場合、
STDIN が保持するのは端末ではなく、リダイレクト先のストリームです。... -
Kernel
$ $ stdin -> object (6297.0) -
標準入力です。
...$stdin に代入すれば十分です。
//emlist[例][ruby]{
# 標準入力の入力元 /tmp/foo に変更
$stdin = File.open("/tmp/foo", "r")
gets # 入力する
$stdin = STDIN # 元に戻す
//}
ただし、Kernel.#gets など、特定の組み込みメソッドは
$stdin オ......ブジェクトにメソッドを転送して実装されています。
従って、Kernel.#gets などが正しく動作するには、
$stdin オブジェクトに代入したオブジェクトが以下のメソッドを
正しく実装していなければいけません。
gets, readline,......//emlist[例][ruby]{
$stdin = Object.new
def $stdin.gets
"foo"
end
p gets() # => "foo"
//}
自プロセスだけでなく、子プロセスの標準入力もリダイレクトしたいときは
以下のように IO#reopen を使います。
//emlist[例][ruby]{
$stdin.reopen("/tmp/foo")
//}... -
IRB
:: STDIN _ FILE _ NAME -> "(line)" (6201.0) -
標準入力を使用する際のファイル名を文字列で返します。
標準入力を使用する際のファイル名を文字列で返します。 -
ruby 1
. 6 feature (5256.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...グ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値の......> ruby 1.6.7 (2002-03-01) [i586-linux]
Errno::EAGAIN
Errno::EWOULDBLOCK
=> ruby 1.6.8 (2002-12-24) [i586-linux]
Errno::EAGAIN
-:2: uninitialized constant EWOULDBLOCK at Errno (NameError)
=> ruby 1.6.8 (2003-02-13) [i586-linux]......いました。-T の後は数
字以外が続いた場合、オプションとみなすようになりました(-0 オプション
と同じ) ((<ruby-dev:17179>))
ruby -Tv # -v が無効 (ruby 1.6.7 (2002-03-01) [i586-linux])
=> ruby: No program input from stdin allowed in ta... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (2538.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への変更点(まとめ)/サポートプラットフォームの追加>))
.../$stderr>)) [change]
: ((<組み込み変数/$stdin>)) [change]
$stdout, $stderr は、$defout, $deferr の別名になり
$defout, $deferr は ((<obsolete>)) になりました
$stdin は、普通のグローバル変数となりました(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)を可能にします。
:... -
多言語化 (446.0)
-
多言語化 Ruby は US-ASCII はもちろん、US-ASCII 以外の文字エンコーディングもサポートしています。 文字列の内部表現のエンコーディングは固定されておらず、 プログラマは目的に応じて使用するエンコーディングを選ぶことができます。
...多言語化
Ruby は US-ASCII はもちろん、US-ASCII 以外の文字エンコーディングもサポートしています。
文字列の内部表現のエンコーディングは固定されておらず、
プログラマは目的に応じて使用するエンコーディングを選ぶこ......][ruby]{
"いろは".encode("Shift_JIS")
"\xA4\xA4\xA4\xED\xA4\xCF".force_encoding("EUC-JP")
//}
====[a:ruby18] Ruby 1.8 からの移行
Ruby 1.8 からの移行措置として、コマンドオプション -K を指定すれば
Ruby 1.8 用に書かれたスクリプトもできる限り動くよ......。
magic comment(最優先) > -K > RUBYOPTの-K > shebang
上のどれもが指定されていない場合、通常のスクリプトなら UTF-8、-e や stdin から実行されたものなら
locale がスクリプトエンコーディングになります。
-K オプションが複数指... -
WEBrick
:: CGI # start(env = ENV , stdin = $ stdin , stdout = $ stdout) -> () (314.0) -
自身に定義されたサービスを実行します。
...れます。
@param env CGI スクリプトが受け取った Meta-Variables (環境変数)を保持したハッシュか、
それと同じ [] メソッドを持ったオブジェクトを指定します。
@param stdin リクエストデータの入力元を IO オブジェクトで... -
Open3
. # pipeline _ rw(*cmds) {|first _ stdin , last _ stdout , wait _ thrs| . . . } -> () (249.0) -
指定したコマンドのリストをパイプで繋いで順番に実行します。最初の コマンドの標準入力に書き込む事も最後のコマンドの標準出力を受けとる事も できます。
...のコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を H......例:
require "open3"
Open3.pipeline_rw("sort", "cat -n") {|stdin, stdout, wait_thrs|
stdin.puts "foo"
stdin.puts "bar"
stdin.puts "baz"
# sortコマンドにEOFを送る。
stdin.close
# stdinに渡した文字列をsortコマンドが並べ替えたもの... -
Open3
. # popen3(*cmd) {|stdin , stdout , stderr , wait _ thr| . . . } -> () (249.0) -
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー 出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の 配列で返します。
...と実行したプロセスを待つためのスレッドを 4 要素の
配列で返します。
require 'open3'
stdin, stdout, stderr, wait_thr = *Open3.popen3("/usr/bin/nroff -man")
@param cmd 実行するコマンドを指定します。
@return ブロックを指定した場合はブロ......require '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
. # pipeline _ w(*cmds) {|first _ stdin , wait _ thrs| . . . } -> () (213.0) -
指定したコマンドのリストをパイプで繋いで順番に実行します。最初の コマンドの標準入力に書き込む事ができます。
...のコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を H......た場合は最初に実行するコマンドの標準入力、
実行したプロセスを待つためのスレッドの配列を配列で返します。
例:
require "open3"
Open3.pipeline_w("bzip2 -c", :out=>"/tmp/hello.bz2") {|w, ts|
w.puts "hello"
}
@see Open3.#popen3...