2013-04-03 1 views
2

Как упростить это выражение?RubyMine: «Выражение можно упростить» Но как?

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

RubyMine предлагает: «Выражение может быть упрощена Эта проверка предупреждает о избыточных частей внутри булевой функции», но не сказать, что делать.

Идея состоит в том, чтобы назначить false, если параметр «неизменный» не был передан.

ответ

2

Просто нажмите Alt + Enter и RubyMine покажет

m.immutable = params[:immutable] 

В некоторых случаях это может помочь вам, но если вы не проходя параметров, то непреложное будет ноль, , которые можно было бы не то, что ваш ждет

+0

«непреложный будет ноль, что может быть не то, что вы ожидаете», да, о чем я говорю. Но RubyMine знает лучше ... – Paul

+0

@Paul, в этом случае RubyMine ошибается. Эти два утверждения не эквивалентны. – Dogbert

+1

Да, RubyMine может быть немного агрессивным здесь. 'nil' оценивает' false' в булевом контексте, но они не совпадают по сравнению с '=='. – dpassage

Смежные вопросы