旧gaaamiiのブログ

間違ったことを書いている時があります。コメントやTwitter、ブコメなどでご指摘ください

RubyのARGV配列が上手くいかないのは勘違いだった

Rubyでは、コマンドラインからデータを受け取る方法としてARGVという配列を使うようです。

ちょっとバカっぽい勘違いをしたのでメモ。

参考書通りにこういうの書いて、
(print_argv.rb)

print "first: ", ARGV[0], "\n"
print "second: ", ARGV[1], "\n"
print "third: ", ARGV[2], "\n"

実行。

ruby print_argv.rb
first: 
second: 
third: 

あれー、入力させてくれない。

で、こういう感じに実行するんだってことに気付く。

ruby print_argv.rb ああ なるほど そういうことか

と、こうなる。

first: ああ
second: なるほど
third: そういうことか

さすがにこれで5分も嵌ってたのは自分だけだと思うけど、IO#getsと同じ雰囲気でやっちゃう、同じような勘違いする人もいなくもないかなと思ったので。