Rubyの` get 'の驚くべき例


getsは、基本的にすべての入門Rubyチュートリアルですが、彼らはほとんど話をすることはめったにありません.
次のように書きます.
#!/usr/bin/env ruby

puts "What is your name?"
your_name = gets.chomp
puts "Hi, #{your_name}!"

混乱して、これが追加のコマンドライン引数をとるスクリプトにあるならば、あなたは「ハイ、ジャネット」を見るかもしれません./gets.rb 123を実行すると、以下のエラーによって、かなり早く迎えられます.
./gets.rb:4:in `gets': No such file or directory @ rb_sysopen - 123 (Errno::ENOENT)
チュートリアルでは、このことについて警告しませんでした.チュートリアルは、あなたが私のような場合は、あなたが数年後にあなたの頭を引っ掻くままにすることがあります物事の削減ビューを与えている.getsは単に$ stdinからユーザ入力を読むだけではありません.getsKernel#getsを参照しています.

Returns (and assigns to $_) the next line from the list of files in ARGV (or $*), or from standard input if no files are present on the command line.


あなたが本当に、本当に彼らの入力のためにユーザーを促したいならば、あなたは直接$ 24809142を$ stdinに電話することができます.そして、誰があなたのようなユーザーとしないでしょうか?
your_name = $stdin.gets.chomp