我是學習ruby的新手,目前堅持在同一個腳本中使用ARGV和gets.chomp。如何在Ruby中結合gets.chomp和ARGV?
我希望腳本先解壓3個參數然後我會問一個問題(gets.chomp),然後打印包含ARGV和gets.chomp變量之一的字符串。在終端中,我將ARGV設置爲一二三(示例:ruby file1.rb一二三)。下面的代碼示例:
first, second, third = ARGV
puts "Your first variable is: #{first}"
puts "Your second variable is: #{second}"
puts "Your third variable is: #{third}"
這種方式完全如我所料。在終端中,它給了我1,2和3個變量,分別是第一,第二和第三。
我在puts中添加了「你最喜歡的顏色是什麼」,並按預期打印出來,但是當我爲輸入設置gets.chomp時,出現錯誤。
first, second, third = ARGV
puts "Your first variable is: #{first}"
puts "Your second variable is: #{second}"
puts "Your third variable is: #{third}"
puts "What is your favourite colour? "
colour = gets.chomp #this is where the error occurs
puts "So your favourite number is #{first} and you like the colour #{colour}."
^底線是我想打印什麼,但我在gets.chomp得到一個錯誤
這就是終端打印:
$ ruby ex13.rb one two three
Your first variable is: one
Your second variable is: two
Your third variable is: three
What is your favourite colour?
ex13.rb:8:in `gets': No such file or directory - one (Errno::ENOENT)
from ex13.rb:8:in `gets'
from ex13.rb:8:in `<main>'
我希望我已經解釋上面已經足夠了,讓我知道是否需要更多信息。
任何幫助將不勝感激!
感謝,
你會得到什麼錯誤? – spickermann
@spickermann 你最喜歡什麼顏色? ex13.rb:8:'得到 ':沒有這樣的文件或目錄 - 一個(錯誤:: ENOENT)從ex13.rb \t:8:'得到' 從ex13.rb \t:8:' ' 我現在會用終端錯誤更新我的問題。 –
Philpot