ruby 如何判断字符串是否相等

Python011

ruby 如何判断字符串是否相等,第1张

ruby判断字符串用"=="就可以。判断对象可以用"equal?"方法。此处与java相反。

p str1==str2返回的结果应该是先打印"str1==str2"的结果后,然后再输出一个空行。这点可以查看相关api。所以msgbox显示的是nil(即返回的空行)。

测试实例:

irb(main):002:0>s=p "1"=="1"

true

=>nil

irb(main):003:0>s

=>nil

所有的对象都有标识和值。

标识(ID)用来表示对象同一性。Ruby中所有对象都是唯一的,对象的ID可以通过 (或者 )方法取得。

我们用 方法判断两个对象是否同一个对象(ID是否相同)

对象的“值”就是对象拥有的信息。例如,只要对象的字符串内容相等,Ruby就会认为对象的值相等。Ruby使用==来判断对象的值是否相等。

除了==以外,Ruby还提供 方法用来判断对象的值是否相等。 与 都是 类定义的方法,大部分情况下它们的执行结果都是一样的。但也有例外,数值类会重定义 方法,因此执行后有不一样结果。

凭直觉来讲,把1.0与1判断为相同的值会更加方便。在一般情况进行值的比较时使用==,但是在一些需要进行更严谨的比较的程序中,就需要用到eql?方法。例如,0与0.0作为散列的键时,会判断为不同的键,这是由于散列对象内部的键比较使用了eql?方法来判断。

这是ruby里“宇宙飞船运算符”。

运算符的左边和右边相比较,左边小于右边返回负数,相等返回0,大时返回正数。

宇宙飞船运算符主要用于排序。对元素的大小进行判定。