ARGVとgetsの併用

予定通りの勉強が出来ていない、まずい(´д`A;


ちょっと昨日・今日でわかったことをまとめ。

gets_test.rb

class GetsTest
  def self.execute
    str = gets.chomp
    p str
  end
end

GetsTest.execute

コマンドラインから
ruby gets_test.rb
で、
これは問題なく動く。


ただ、実行時に引数をつけてARGVと併用しようとすると
ruby gets_test.rb aiueo

gets_test.rb:3:in `gets': No such file or directory - aiueo (Errno:ENOENT)

こうなってエラーになってしまう。


調べるうちに対応がわかった。
gets → STDIN.gets
にすると併用可能。

str = STDIN.gets.chomp
にしたらおk


ちょっと勉強になった。