如何简化这个表达式?
m.immutable = params[:immutable] || false
RubyMine 建议:“可以简化表达式。此检查警告布尔函数中的冗余部分”,但没有说明要做什么。
这个想法是如果“不可变”参数没有传递,则分配 false。
只需单击 Alt+Enter 即可显示 RubyMine
m.immutable = params[:immutable]
在某些情况下,这可以帮助您,但如果您没有传递参数,那么 immutable 将为零,这可能不是您所期望的
这是实现此目的的更好方法:
m.immutable = !! params[:immutable]
Using!!
是一种 Ruby 技巧,可确保将表达式转换为布尔值。例如,即使params[:immutable]
计算结果为nil
,!!
也会将其转换为false
-- 否则它将是true