Краткое объяснение nil v. Empty v. Blank в Ruby on Rails

Это зависит от Application Binary Interface и какие регистры используются для вычисления.

Например. на x86 первый параметр функции и возвращаемое значение сохраняются в EAX, и поэтому gcc, скорее всего, использует это, чтобы сохранить результат вычисления.

1070
задан Jonathan Leffler 7 September 2013 в 23:06
поделиться

5 ответов

Не думаю, что это хорошая идея. Даже если вы найдете подходящее регулярное выражение (возможно, используя свойства символов Unicode), это не помешает пользователям вводить псевдо-имена, такие как John Doe , Max Mustermann (есть даже человек с таким именем), Abcde Fghijk или Ababa Bebebe .

blank? вернет false , даже если все элементы массива пустые. Для определения пустоты в этом случае используйте all? с blank? , например:

[ nil, '' ].blank? == false
[ nil, '' ].all? &:blank? == true 
1408
ответ дан 19 December 2019 в 20:19
поделиться

Не забудьте ? , который обычно ! Пустой? . В Rails я обычно проверяю наличие чего-либо в конце оператора с помощью , если что-то или , кроме чего-то , тогда используйте blank? там, где это необходимо, поскольку это кажется работать везде.

12
ответ дан 19 December 2019 в 20:19
поделиться

Одно отличие состоит в том, что .nil? и .empty? - это методы, предоставляемые языком программирования Ruby, тогда как .blank? - это что-то , добавленный фреймворком веб-разработки Rails.

50
ответ дан 19 December 2019 в 20:19
поделиться

Небольшое замечание о рекомендации any? : он прав, что это обычно эквивалентно ! Empty? . Однако any? вернет true строке, состоящей только из пробелов (ala "" ).

И, конечно же, см. Комментарий 1.9 выше, тоже.

13
ответ дан 19 December 2019 в 20:19
поделиться

Подсказка: ! Obj.blank? == obj.present?

Может быть удобнее / облегчает восприятие некоторых выражений лица

62
ответ дан 19 December 2019 в 20:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: