> А использовать логические выражения в арифметике как-то неправильно.
Да ладно, кто же типизирует логические переменные отдельно от арифметических? И потом, может, мне надо получить именно единицу, а не какую-то там абстрактную истину.
Никто не типизирует, но я не могу представить себе ситуацию, в которой будет оправдано сложение числа и логического выражения. И потом, может, мне надо получить именно единицу, а не какую-то там абстрактную истину. (a)?1:0 ?
Кто-то забыл про ленивую семантику &&. Если b вычисляется только при a==true, то a=a&&b (а вместе с ним, видимо, и a&&=b) и if (!b) a=false в общем случае дают разный результат.
if (!b) a=false;
Второе заметно понятнее. А если еще и разрешить перегружать, то редкостная путаница начнется… Впрочм, в Ruby такой оператор есть.
Reply
Reply
Reply
Да ладно, кто же типизирует логические переменные отдельно от арифметических?
И потом, может, мне надо получить именно единицу, а не какую-то там абстрактную истину.
Reply
И потом, может, мне надо получить именно единицу, а не какую-то там абстрактную истину.
(a)?1:0 ?
Reply
Reply
Но вообще, в отличии от ||=, в &&= как-то мало практического смысла.
Prooflink: http://maverickpiggy.blogspot.com/2006/09/tastes-of-ruby.html
Reply
Reply
Leave a comment