它按升序返回数组/列表,但它是如何工作的?
books = ["Charlie and the Chocolate Factory", "War and Peace", "Utopia", "A Brief History of Time", "A Wrinkle in Time"]
books.sort! { |firstBook, secondBook| firstBook <=> secondBook }
答案 0 :(得分:0)
这是一个很简单的答案。该块调用太空飞船运营商:<=>
。许多物体都会对此作出反应它返回-1,0或1,具体取决于一个对象是否为&#34;更大&#34;比另一个。
以下是字符串的工作原理:
比较 - 返回-1,0,+ 1或nil,具体取决于字符串是否为 小于,等于或大于other_string。
如果字符串长度不同,字符串相等 当比较到最短的长度时,那么较长的字符串就是 被认为大于较短的一个。
如果你的对象没有响应太空船操作员(就像你自己的对象一样),那么你可以自己定义它。
答案 1 :(得分:0)