如何简化此表达式?
m.immutable = params[:immutable] || false
RubyMine建议:“表达式可以简化。这个检查会警告布尔函数中的冗余部分”,但是没有说明要做什么。
如果未传递“immutable”参数,则设置为false。
答案 0 :(得分:2)
只需点击Alt + Enter,RubyMine就会显示
m.immutable = params[:immutable]
在某些情况下,这可以帮助你,但如果你没有传递param,那么immutable将是nil, 这可能不是你期望的那样
答案 1 :(得分:1)
这是实现此目的的更好方法:
m.immutable = !! params[:immutable]
使用!!
是Ruby的技巧,可确保将表达式转换为布尔值。
例如即使params[:immutable]
的值为nil
,!!
也会将其转换为false
;否则,它将为true