在Ruby中,我正在創建一個簡短的程序,用戶可以輸入一定數量的單詞(現在爲5),程序需要吐出單詞以字母順序返回給用戶,並且每個單詞必須從全部大寫變爲全部小寫字母。Ruby Array/Loop/.each do - 最簡單的答案
該程序只能使用像(.each do,.sort,.upcase,.downcase),數組,循環和if/else語句的方法。 NOTHING ELSE ...所以沒有索引,字典,模塊,參數等等。語法不應該和我已經寫的太多差異。
這是我到目前爲止的代碼...我不斷收到一個沒有方法的錯誤...任何幫助將不勝感激。
words = []
5.times do
puts "Please enter a word"
words << gets.chomp
end
words.sort.each do |odd, even|
if odd puts words.upcase
elsif even puts words.downcase
end
end
你是什麼意思的「方法」?每當發生異常時,重要的是要確定它發生的地方。 –
'words.sort'會給你和排序詞的數組。然後'each'將有序數組的每個元素傳遞給塊,並將它們分配給第一個塊變量'odd'。由於每次傳遞一個字符串,塊變量'even'將始終等於'nil'。這就是爲什麼該塊沒有按照你的意願執行。您可能會發現在塊的開頭添加以下內容會有幫助:'puts「odd =#{odd},even =#{even}」'。 –