运维开发网

Ruby三元 – 警告:条件中的字符串文字

运维开发网 https://www.qedev.com 2020-08-01 20:50 出处:网络 作者:运维开发网整理
此代码按预期工作: if phrase.last.eql? "?" ? true : false true else false end 但是这段代码使用Ruby三元运算符: phrase.last.eql? "?" ? true : false 给出以下错误: warning: string literal in condition 我需要逃避“?”不知何故? 没有括号,ruby将其解
此代码按预期工作:

if phrase.last.eql? "?" ? true : false
  true
else 
  false
end

但是这段代码使用Ruby三元运算符:

phrase.last.eql? "?" ? true : false

给出以下错误:

warning: string literal in condition

我需要逃避“?”不知何故?

没有括号,ruby将其解释为

phrase.last.eql?( "?" ? true : false )

这解释了消息“警告:条件字符串文字”.

要解决此问题,请在参数上使用括号:

phrase.last.eql?("?") ? true : false

当然,在这种情况下,使用三元运算符是多余的,因为这与简单相同

phrase.last.eql?("?")
0

精彩评论

暂无评论...
验证码 换一张
取 消