ruby 如何判断字符串是否相等
不是应该是ifstr1==str2...end这样么?为什么分别显示出str1和str2是相等的(包括大小写),但是却不执行?继续分析,执行pstr1==str2结果ms...
不是应该是
if str1==str2
...
end
这样么?
为什么分别显示出str1和str2是相等的(包括大小写),但是却不执行?
继续分析,执行
p str1==str2
结果msgbox显示nil
这又是为什么...
求助啦.
补充一下: 程序在ruby1.8是可以的,
运行p str1==str2会显示true,但是同样的代码粘到RGSS中就不行了.....
最近在研究rmxp的脚本编写
谢谢各位啦.. 展开
if str1==str2
...
end
这样么?
为什么分别显示出str1和str2是相等的(包括大小写),但是却不执行?
继续分析,执行
p str1==str2
结果msgbox显示nil
这又是为什么...
求助啦.
补充一下: 程序在ruby1.8是可以的,
运行p str1==str2会显示true,但是同样的代码粘到RGSS中就不行了.....
最近在研究rmxp的脚本编写
谢谢各位啦.. 展开
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
p str1==str2返回的结果应该是先打印"str1==str2"的结果后,然后再输出一个空行。这点可以查看相关api。所以msgbox显示的是nil(即返回的空行)。
测试实例:
irb(main):002:0> s=p "1"=="1"
true
=> nil
irb(main):003:0> s
=> nil
更多追问追答
追问
确实是这样,
p执行后输出表达式结果并返回nil,
可是为什么运算符 == 的返回值是nil?
追答
我用1.8.7的版本,返回结果是个布尔值。你的是什么版本的?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询