我正在阅读 Codeacademy 上的 Ruby 教程,我正在努力理解与rev=false
if/else 语句相关的方法参数。我知道它是如何工作的,但不知道它为什么工作。Codeacademy 的描述让我很困惑,这就是我在这里发帖的原因。
为什么这个打印反了?puts "Z-A: #{alphabetize(books, true)}"
它与什么关系rev=false)
?
def alphabetize(arr, rev=false)
if rev
arr.sort { |firstItem, secondItem|
secondItem <=> firstItem }
else
arr.sort { |firstItem, secondItem|
firstItem <=> secondItem }
end
end
books = ["Heart of Darkness", "Code Complete", "The Lorax", "The Prophet", "Absalom, Absalom!"]
puts "A-Z: #{(books)}"
puts "Z-A: #{alphabetize(books, true)}"