ライブラリ
- ビルトイン (36)
- csv (12)
-
io
/ console (36) -
rubygems
/ user _ interaction (12) - socket (24)
モジュール
- Kernel (12)
キーワード
-
$ stdin (12) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - ConsoleUI (12)
- constants (12)
- cooked (12)
- new (12)
- noecho (12)
- raw (12)
-
ruby 1
. 6 feature (12) - unix (24)
検索結果
先頭5件
-
Object
:: STDIN -> IO (39175.0) -
標準入力。$stdin のデフォルト値。 $stdin も参照してください。
...標準入力。$stdin のデフォルト値。 $stdin も参照してください。
STDIN は、 ruby プロセスが起動された時点での標準入力を表します。
起動時点では $stdin も同じ値に初期化されています。
$stdin に他の入力オブジェクトを代入......することで簡易なリダイレクトを実現できます。
そして、 $stdin に STDIN を代入すればこのリダイレクトを復元できるわけです。
=== 注意
STDIN は ruby 自体が起動された時点での標準入力です。
「システムにおける標準の入力......す。
多くのシステムでは標準の入力ストリームは端末です。
ruby 自体が他のストリームに向けて入力をリダイレクトされた状態で起動された場合、
STDIN が保持するのは端末ではなく、リダイレクト先のストリームです。... -
Kernel
$ $ stdin -> object (6310.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")
//}... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (444.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 等)
はそのオブジェクトにメソッドを投げます......スは特異クラス自身であると定義されました
((<ruby-bugs-ja:313>))。なんだかよくわかりません(^^;
class << Object
p [self.id, self]
class << self
p [self.id, self]
end
end
=> ruby 1.6.7 (2002-03-01) [i5... -
IO
# cooked {|io| . . . } -> object (107.0) -
cooked モードを有効にして指定されたブロックを評価します。
...す。ブロックを評価した結果を返します。
@raise LocalJumpError ブロックを指定しなかった場合に発生します。
以下の例では、標準入力からエコーバック付きで文字列を一行読み込みます。
require "io/console"
STDIN.cooked(&:gets)... -
IO
# noecho {|io| . . . } -> object (107.0) -
文字入力時のエコーバックを無効に設定してブロックを評価します。
...す。ブロックを評価した結果を返します。
以下の例では、標準入力からエコーバックなしで文字列を一行読み込みます。
require "io/console"
STDIN.noecho(&:gets)
@raise LocalJumpError ブロックを指定しなかった場合に発生します。... -
IO
# raw(min: 1 , time: 0 , intr: false) {|io| . . . } -> object (107.0) -
raw モード、行編集を無効にして指定されたブロックを評価します。
...なかった場合に発生します。
@raise ArgumentError intr に true または false 以外の値を指定した場合に発生します。
以下の例では、標準入力からエコーバックなしで文字列を一行読み込みます。
require "io/console"
STDIN.raw(&:gets)... -
Socket
. unix(path) {|sock| . . . } -> object (107.0) -
Unix クライアントソケットを生成します。
...ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream(STDIN, sock)
t.join
}
@param path 接続対象のパス(文字列)... -
ruby 1
. 6 feature (96.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...と同じ) ((<ruby-dev:17179>))
ruby -Tv # -v が無効 (ruby 1.6.7 (2002-03-01) [i586-linux])
=> ruby: No program input from stdin allowed in tainted mode (SecurityError)
=> ruby 1.6.7 (2002-07-30) [i586-linux]
: 2002-05-20 IO#close
双方向のパイプの dup......upport for multipart form.
: 2002-04-10: Object#((<Object/remove_instance_variable>))
指定したインスタンス変数が定義されていない場合例外 NameError を起こ
すようになりました。((<ruby-bugs-ja:PR#216>))
Object.new.instance_eval {
p remove_i......lass
end
=> ruby 1.6.5 (2001-09-19) [i586-linux]
537760880
-:4: warning: already initialized constant A
537757180
Object
=> ruby 1.6.5 (2001-10-10) [i586-linux]
537760960
-:4: warning: already initialized constant A
537757200
Strin... -
CSV
. new(data , options = Hash . new) -> CSV (24.0) -
このメソッドは CSV ファイルを読み込んだり、書き出したりするために String か IO のインスタンスをラップします。
...und, +data+ is ARGF, Object::STDIN, Object::STDOUT, or
Object::STDERR, or the stream is only available for output, the default
$INPUT_RECORD_SEPARATOR ($/) is used. Obviously,
discovery takes a little time. Set manually if speed is important. Also
note that IO objects should be opened...