komarproton 21.03.2013 08:45 thinkpad

% irb
1.9.3-p362 :001 > nil.blank?
NoMethodError: undefined method `blank?' for nil:NilClass
from (irb):1
from /home/komar/.rvm/rubies/ruby-1.9.3-p362/bin/irb:16:in `<main>'
% rails console
Loading development environment (Rails 3.2.12)
1.9.3-p362 :001 > nil.blank?
=> true

Ну вообще охуеть.
unless wtf.blank? как раз будет антонимом к .empty?

1. gelraen 21.03.2013 08:48 work-laptop

что тебя удивляет?

2. komargelraen /1 21.03.2013 08:49 thinkpad

То, что в рельсах для nil’а определен blank?

3. gelraenkomar /2 21.03.2013 08:50 work-laptop

так он для Object определён, а в ruby всё является объектом класса Object, даже небо^Wnil

4. komargelraen /3 21.03.2013 08:51 thinkpad

Чувак?

5. gelraenkomar /4 21.03.2013 08:51 work-laptop

ну, блять, я действительно не понимаю хули тут удивляться

6. komargelraen /5 21.03.2013 08:52 thinkpad

#blank? не определен для nil’а в чистеньком руби.

7. proton 21.03.2013 08:53

Не понял тебя.

blank? и empty? — синонимы же (ну почти синонимы), антонимом является present?

Но если ты про отсутствие необходимости проверять на nil?, то да, катит

8. gelraenkomar /6 21.03.2013 08:55 work-laptop

так он вроде в чистеньком ruby вообще ни для кого не определён (в stdlib). Ты так говоришь будто первый раз увидел что rails вовсю эксплуатирует open classes.

9. protonkomar /6 21.03.2013 08:55

blank? вообще не определён в ruby, это расширение из rails (точнее из ActiveSupport)

10. komarproton /7 21.03.2013 08:56 thinkpad

> blank? и empty? — синонимы же (ну почти синонимы), антонимом является present?
1.9.3-p362 :005 > nil.present?
=> false
1.9.3-p362 :008 > " ".present?
=> false
1.9.3-p362 :009 > "ХУЙ".present?
=> true
Ну вообще охуеть.

> Но если ты про отсутствие необходимости проверять на nil?, то да, катит
Именно.

11. gelraenkomar /10 21.03.2013 08:58 work-laptop

блять. http://api.rubyonrails.org/classes/Objec...

12. Voker57 21.03.2013 09:09 nbl-desktop

а чего ты еещ ожидал вызывая рельсовый метод без рельс?

13. komarVoker57 /12 21.03.2013 09:10 thinkpad

Я вообще не знал о его существовании.

14. Voker57komar /13 21.03.2013 09:10 nbl-desktop

че-то я не понял тогда сути проблемы

15. komarVoker57 /14 21.03.2013 09:10 thinkpad

Проблемы нету. Я радуюсь.

16. komarkomar /15 21.03.2013 09:11 thinkpad

Хотя проблему можно придумать. Какого хера такой элементарной вещи нет в стдлибе?

17. Voker57komar /16 21.03.2013 09:12 nbl-desktop

такие методы только рельсоблядкам с их .second могут взбрести в голову

18. komarVoker57 /17 21.03.2013 09:12 thinkpad

А что мне, вместо этого «if a && !a.empty?» писать?

19. Voker57komar /18 21.03.2013 09:13 nbl-desktop

a.to_s.empty? или рефакторить

20. komarVoker57 /19 21.03.2013 09:14 thinkpad

> a.to_s.empty?
Бля-я-ять.
> рефакторить
Что и куда рефакторить?

21. Voker57komar /20 21.03.2013 09:15 nbl-desktop

рефакторить чтоб не надо было каждые пять минут такие конструкции рисовать

22. komarVoker57 /21 21.03.2013 09:15 thinkpad

Самая обычная конструкция для языка, где не осилили maybe.

23. Voker57komar /22 21.03.2013 09:16 nbl-desktop

с maybe у тебя было бы еще хуже. алсо можно вместо этого нарисовать maybe для ruby, будет универсальнее

24. Voker57Voker57 /23 21.03.2013 09:16 nbl-desktop

fromMaybe точнее

25. komarVoker57 /23 21.03.2013 09:17 thinkpad

С maybe и БЕЗ nil’а мне бы не приходилось писать проверки на nil на каждый чих.

Do you really want to delete ?