Rubyの` get 'の驚くべき例
1656 ワード
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からユーザ入力を読むだけではありません.gets
はKernel#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
Reference
この問題について(Rubyの` get 'の驚くべき例), 我々は、より多くの情報をここで見つけました https://dev.to/jsrn/the-surprising-case-of-gets-in-ruby-74bテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol