アルゴリズム問題を解くときのようにgetsを使って標準入力を入れようとしたところ以下のようなエラーになった
$ ruby enc_main.rb new
Traceback (most recent call last):
2: from enc_main.rb:12:in `<main>'
1: from enc_main.rb:12:in `gets'
enc_main.rb:12:in `gets': No such file or directory @ rb_sysopen - new (Errno::ENOENT)
対処方法
以下のコードに$stdinを使ったgetsメソッドを使うと解消した。
if ARGV[0] == "new"
puts "What's Name?"
name = $stdin.gets
参考にしたドキュメント
$stdin (Ruby 2.7.0 リファレンスマニュアル)
Rubyでstdinを使う方法を現役エンジニアが解説【初心者向け】 | TechAcademyマガジン