我正在使用Chris Pine的《学习编程》一书,对他比较简单的挑战感到困惑,即以随机单词列表的形式接受用户输入,然后在数组中按字母顺序排列它们。关于这个挑战的问题之前已经出现过,但是我在SO上没有找到我的具体问题,所以如果是重复问题,我很抱歉。
puts "Here's a fun trick. Type as many words as you want (one per line) and
I'll sort them in...ALPHABETICAL ORDER! Hold on to your hats!"
wordlist = Array.new
while (userInput = gets.chomp) != ''
wordlist.push(userInput)
end
puts wordlist.sort
虽然这样做可以解决问题,但我正在尝试弄清如何按字母顺序排序数组而不区分大小写。 这很难理解。
我了解到strcasecmp
方法,但它似乎是用于比较特定字符串而不是字符串数组的方法。
到目前为止,我一直在尝试类似以下的内容:
wordlist.to_s.downcase.to_a.sort!
此外,它不仅看起来不好,而且由于Ruby 2.0不允许将字符串转换为数组等多种原因而无法使用。