Это зависит от Application Binary Interface и какие регистры используются для вычисления.
Например. на x86 первый параметр функции и возвращаемое значение сохраняются в EAX
, и поэтому gcc, скорее всего, использует это, чтобы сохранить результат вычисления.
Не думаю, что это хорошая идея. Даже если вы найдете подходящее регулярное выражение (возможно, используя свойства символов Unicode), это не помешает пользователям вводить псевдо-имена, такие как John Doe , Max Mustermann (есть даже человек с таким именем), Abcde Fghijk или Ababa Bebebe .
blank?
вернет false
, даже если все элементы массива пустые. Для определения пустоты в этом случае используйте all?
с blank?
, например:
[ nil, '' ].blank? == false
[ nil, '' ].all? &:blank? == true
Не забудьте ?
, который обычно ! Пустой?
. В Rails я обычно проверяю наличие чего-либо в конце оператора с помощью , если что-то
или , кроме чего-то
, тогда используйте blank?
там, где это необходимо, поскольку это кажется работать везде.
Одно отличие состоит в том, что .nil?
и .empty?
- это методы, предоставляемые языком программирования Ruby, тогда как .blank?
- это что-то , добавленный фреймворком веб-разработки Rails.
Небольшое замечание о рекомендации any?
: он прав, что это обычно эквивалентно ! Empty?
. Однако any?
вернет true
строке, состоящей только из пробелов (ala ""
).
И, конечно же, см. Комментарий 1.9 выше, тоже.
Подсказка: ! Obj.blank? == obj.present?
Может быть удобнее / облегчает восприятие некоторых выражений лица