kind=defined
names=STDIN
visibility=public

--- STDIN -> IO
標準入力。[[m:$stdin]] のデフォルト値。 [[m:$stdin]] も参照してください。

STDIN は、 ruby プロセスが起動された時点での標準入力を表します。
起動時点では [[m:$stdin]] も同じ値に初期化されています。

[[m:$stdin]] に他の入力オブジェクトを代入することで簡易なリダイレクトを実現できます。
そして、 [[m:$stdin]] に STDIN を代入すればこのリダイレクトを復元できるわけです。

==== 注意
STDIN は ruby 自体が起動された時点での標準入力です。
「システムにおける標準の入力ストリーム」とは異なります。

多くのシステムでは標準の入力ストリームは端末です。
ruby 自体が他のストリームに向けて入力をリダイレクトされた状態で起動された場合、
STDIN が保持するのは端末ではなく、リダイレクト先のストリームです。

