- 1
- 2
- 3
public function xor(lhs:Boolean, rhs:Boolean):Boolean {
return !( lhs && rhs ) && ( lhs || rhs );
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−92
public function xor(lhs:Boolean, rhs:Boolean):Boolean {
return !( lhs && rhs ) && ( lhs || rhs );
}
Из http://as3snippets.blogspot.com/2010/09/logical-xor.html
Как известно, в AS3 есть численный оператор XOR ^, а вот для логических значений ^^ нет. Поэтому ребята придумали такую конструкцию (и ещё вариант return Boolean(int(a) ^ int(b)); в комментах), и только через год какой-то чувак догадался что XOR для логических значений всё-таки есть и называется !=
Что следующее? Стрелка Пирса?
Что как бы эквивалентно a = b, не?
Наверное за время вывода чёрной Т картридж успели сменить.
А откуда мне знать, что автор имел в виду, написано 2 раза, ну я так и понял, что сделать 2 раза.
Разве это не вызывает у вас ассоциации с & и &&, а так же с | и ||?
^_^
Как нет?
Есть: !=
и только через год какой-то чувак догадался что XOR для логических значений всё-таки есть и называется !=
Имеется в виду, что нет оператора, который называется ^^=, а не то, что его невозможно запилить другим способом.
!==
всё прекрасно работает !