Подтвердить что ты не робот

Ruby: если vs if not

Я предпочитаю if not вместо unless. Есть ли способ написать такое условие? Как люди вообще относятся к unless?

4b9b3361

Ответ 1

Надеюсь, это поможет вам:
https://github.com/bbatsov/ruby-style-guide

Я лично согласен с тем, что там написано, выбрав unless something over if !something для модификаторов и простых, а когда else предпочитает if.

Ответ 2

Я использую unless каждый раз, за ​​исключением случаев, когда существует предложение else.

Итак, я буду использовать

unless blah_blah
  ...
end

но если есть условие else, я буду использовать if not (или if !)

if !blah_blah
 ...
else
 ...
end

После использования if ! годами и годами мне понадобилось некоторое время, чтобы привыкнуть к unless. В настоящее время я предпочитаю его в каждом случае, когда чтение его громко звучит естественно.

Я также поклонник использования unless

increment_by_one unless max_value_reached Я использую эти имена методов/переменных, очевидно, как пример читаемости - структура кода должна в основном следовать этому шаблону, на мой взгляд.

В более широком смысле структура должна быть: take_action unless exception_applies

Ответ 3

if not condition редко используется. Программисты Ruby (обычно поступающие с других языков) предпочитают использовать if !condition.

С другой стороны, если это широко не используется в случае, если есть одно условие, и если оно звучит читаемо.

Также см. смысл с Ruby, если только для дальнейших предложений, кроме стиля кодирования.