在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}”'。 –