komar → proton 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. komar → gelraen /1 21.03.2013 08:49 thinkpad

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

3. gelraen → komar /2 21.03.2013 08:50 work-laptop

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

4. komar → gelraen /3 21.03.2013 08:51 thinkpad

Чувак?

5. gelraen → komar /4 21.03.2013 08:51 work-laptop

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

6. komar → gelraen /5 21.03.2013 08:52 thinkpad

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

7. proton 21.03.2013 08:53

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

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

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

8. gelraen → komar /6 21.03.2013 08:55 work-laptop

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

9. proton → komar /6 21.03.2013 08:55

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

10. komar → proton /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. gelraen → komar /10 21.03.2013 08:58 work-laptop

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

12. Voker57 21.03.2013 09:09 nbl-desktop

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

13. komar → Voker57 /12 21.03.2013 09:10 thinkpad

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

14. Voker57 → komar /13 21.03.2013 09:10 nbl-desktop

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

15. komar → Voker57 /14 21.03.2013 09:10 thinkpad

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

16. komar → komar /15 21.03.2013 09:11 thinkpad

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

17. Voker57 → komar /16 21.03.2013 09:12 nbl-desktop

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

18. komar → Voker57 /17 21.03.2013 09:12 thinkpad

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

19. Voker57 → komar /18 21.03.2013 09:13 nbl-desktop

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

20. komar → Voker57 /19 21.03.2013 09:14 thinkpad

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

21. Voker57 → komar /20 21.03.2013 09:15 nbl-desktop

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

22. komar → Voker57 /21 21.03.2013 09:15 thinkpad

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

23. Voker57 → komar /22 21.03.2013 09:16 nbl-desktop

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

24. Voker57 → Voker57 /23 21.03.2013 09:16 nbl-desktop

fromMaybe точнее

25. komar → Voker57 /23 21.03.2013 09:17 thinkpad

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

Do you really want to delete ?