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

Python010

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

1. 字符串和符号,都是Ruby中表示文本的方式

不管字符串变量也好,符号变量也好,都是用来表示文本的,它们之间,也可以互相转换(通过to_sym和to_s):

>> "book".to_sym

=>:book

>> :track.to_s

=>"track"

2. 相同的符号是一个对象,相同的字符并不一定是一个对象

这就是符号和字符串最大的差别,符号是不可变的,不能对一个符号进行修改。所以说,两个看起来相同的符号一定是一个对象,但是说两个看起来一样的字符串是一个对象,就不对了。

这里,我们用 equal? 方法检验这一点,当两个对象相同时,equal返回true,反之是false:

>> :book.equal?(:book)

=>true

>> "book".equal?("book")

=>false