我正在使用 Chris Pine 的 Learn to Program 并且对他相对简单的挑战感到困惑,即以随机单词列表的形式获取用户输入,然后将它们按字母顺序排列在一个数组中。关于这个挑战的问题之前出现过,但我无法找到关于 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
虽然这可以解决问题,但我试图弄清楚如何在不区分大小写的情况下按字母顺序排列数组。这很难缠住我的头。我了解到,casecmp
但这似乎是一种比较特定字符串的方法,而不是字符串数组。
到目前为止,我一直在尝试这样的事情:
wordlist.to_s.downcase.to_a.sort!
除了看起来很糟糕之外,它由于多种原因不起作用,包括 Ruby 2.0 不允许将字符串转换为数组。