RubyMine:“表达式可以简化”但是怎么样?

时间:2013-04-03 16:02:02

标签: ruby rubymine

如何简化此表达式?

m.immutable = params[:immutable] || false

RubyMine建议:“表达式可以简化。这个检查会警告布尔函数中的冗余部分”,但是没有说明要做什么。

如果未传递“immutable”参数,则设置为false。

2 个答案:

答案 0 :(得分:2)

只需点击Alt + Enter,RubyMine就会显示

m.immutable = params[:immutable]

在某些情况下,这可以帮助你,但如果你没有传递param,那么immutable将是nil, 这可能不是你期望的那样

答案 1 :(得分:1)

这是实现此目的的更好方法:

m.immutable = !! params[:immutable]

使用!!是Ruby的技巧,可确保将表达式转换为布尔值。 例如即使params[:immutable]的值为nil!!也会将其转换为false;否则,它将为true

相关问题