Ruby';s比较器<=&燃气轮机;与Java';美国平等,;比较字符串

Ruby';s比较器<=&燃气轮机;与Java';美国平等,;比较字符串,java,ruby,string,comparison,Java,Ruby,String,Comparison,她是我的ruby脚本: books = ["Charlie and the Chocolate Factory", "War and Peace", "Utopia", "A Brief History of Time", "A Wrinkle in Time"] puts books.sort! { |firstBook, secondBook| firstBook <=> secondBook } 此处输出为:True(布尔值) 我对Ruby还不熟悉,我不明白这

她是我的ruby脚本:

books = ["Charlie and the Chocolate Factory", "War and Peace", "Utopia", "A Brief History of Time", "A Wrinkle in Time"]

puts books.sort! {

  |firstBook, secondBook|

  firstBook <=> secondBook

}
此处输出为:True(布尔值)
我对Ruby还不熟悉,我不明白这两者之间的区别在第一个例子中,你排序(涉及很多你看不到的比较)。在第二个示例中,您只需比较。Java代码片段的Ruby等价物是:

string1 = "hello"
string2 = "Hello"
puts(string1 == string2)

@我看不到的是阿曼丹。但是为什么我不能像java中那样在控制台中看到布尔值呢。如何在控制台中获取布尔值,以及在控制台中写入打印书籍名称的位置。这完全令人困惑,请详细说明答案。谢谢,教授,你能说清楚点吗?您从不使用
;您使用的是一个运算符
,它的作用与您列出的三个运算符不同。Ruby通过调用
books.sort。您从不打印比较结果,而是打印一系列书籍。考虑到这一点,除了一系列的书籍之外,为什么还要印刷其他东西呢?在我的回答中,我向您展示了如何在控制台中获取布尔值:打印比较结果,而不是排序结果。
string1 = "hello"
string2 = "Hello"
puts(string1 == string2)