komar 22.02.2013 10:24 thinkpad

— Как будет... антоним... к .empty?
— unless .empty?
— Не-не-не... Чтобы if было.
— !.empty?
— Не, не красиво
— Блять, напиши просто if.
— Хуй там, if пустую строку хавает. Надо чтобы метод отдельный был. Вот, сейчас документацию листаю...
— Блять, для тебя руби — это сборник всякой интересной хуйни, что ли?
— Да.

1. proton 22.02.2013 10:24 laptop

кстати, антонима к .empty? действительно не хватает

2. komarproton /1 22.02.2013 10:25 thinkpad

Еще один, блять.

3. protonkomar /2 22.02.2013 10:27 laptop

вообще задолбали конструкции аля
if defined? a && a && !a.empty?

4. komarproton /3 22.02.2013 12:56 thinkpad

Забавно, что в нормальных языках программирования такого написать невозможно.

5. protonkomar /4 22.02.2013 12:57 laptop

что значит невозможно?
пруф в студию

6. komarproton /3 22.02.2013 13:02 thinkpad

Разбираем.
> if defined? a
Интерпретатората. Если где-то есть место, где a undefined, то все должно повалиться на этапе компиляции.
> && a && !a.empty?
Включаю вангу и генерю контекст, в котором это может быть написано. && a — это проверка на not nil. Она нужна для того, чтобы && !a.empty? не повалилось с nil has no method "empty?". В нормальных языках null’а нет, а есть maybe, и схватить ошибку определяя пустоту nil’а невозможно в рантайме — за все постучит по рукам компилятор.

7. protonkomar /6 22.02.2013 13:04 laptop

ок, c++ — ненормальный язык?
указатель, который нужно проверить на NULL — стандартная задача

8. komarproton /7 22.02.2013 13:04 thinkpad

Нет, C++ — очень плохой язык.

9. protonkomar /8 22.02.2013 13:05 laptop

тогда назови нормальные языки

10. komarproton /9 22.02.2013 13:07 thinkpad

OCaml, Haskell.

11. protonkomar /10 22.02.2013 13:07 laptop

ок, добавлю в TODO

12. komarkomar /6 22.02.2013 13:32 thinkpad

Вот. Смех смехом, а я уже заебался писать вот такое вот рубиговно.

Do you really want to delete ?