るりまサーチ

最速Rubyリファレンスマニュアル検索!
12件ヒット [1-12件を表示] (0.008秒)
トップページ > クエリ:dup[x] > モジュール:Kernel[x] > クエリ:$stdin[x]

別のキーワード

  1. _builtin dup
  2. singleton dup
  3. etc sc_re_dup_max
  4. set dup
  5. bigdecimal dup

ライブラリ

検索結果

Kernel$$stdin -> object (18192.0)

標準入力です。

...
$stdin
に代入すれば十分です。

//emlist[例][ruby]{
# 標準入力の入力元 /tmp/foo に変更
$stdin
= File.open("/tmp/foo", "r")
gets # 入力する
$stdin
= STDIN # 元に戻す
//}

ただし、Kernel.#gets など、特定の組み込みメソッドは
$stdin
...
...ブジェクトにメソッドを転送して実装されています。
従って、Kernel.#gets などが正しく動作するには、
$stdin
オブジェクトに代入したオブジェクトが以下のメソッドを
正しく実装していなければいけません。

gets, readline,...
...list[例][ruby]{
$stdin
.reopen("/tmp/foo")
//}

また、リダイレクトしたあと
入力先をまた元に戻したい場合は以下のようにします。

//emlist[例][ruby]{
stdin_old = $stdin.dup # 元の $stdin を保存する
$stdin
.reopen("/tmp/foo") # $stdin を /tmp/foo...