'VE' '&&' operatör olarak vs
Geliştiriciler &&
||
yerine AND
OR
kullanmaya karar vermiş olduğu bir kod temeli ile karşı karşıyayım.
Operatörler, öncelikleri (&&
and
önce gider) farkı var, ama belirli bir çerçeve (kesin olarak prestashop) açıkça bir sebep değil biliyorum.
Yani, benim soru: hangi sürümü kullanıyorsunuz? and
&&
daha okunabilir mi? Ya da fark yok mu?
CEVAP
AND
OR
kullanırsanız eninde sonunda böyle bir şey takıldı: var
$this = true;
$that = false;
$truthiness = $this and $that;
$truthiness
eşittir ne olduğunu tahmin etmek ister misin?
Eğer false
... bzzzt şunları söyledi: "özür dilerim, yanlış!
$truthiness
yukarıda 17* *değeri vardır. Neden? =
and
daha higher precedence vardır. Örtülü sırasını göstermek için parantez yanı sıra bu net yapar:
($truthiness = $this) and $that
Eğer ilk kod örneği and
yerine &&
kullandıysanız, beklendiği gibi çalışacak ve false
.
Düzenleme:
Vay be, zaten üç yıl oldu?
Yorum aşağıda açıklandığı gibi, bu da parantez = daha yüksek önceliğe sahip olarak doğru değeri elde etmek için çalışır
$truthiness = ($this and $that)
Galatasaray' operatör olarak ...
Python's "" operatör be...
'VE' '&&' operatör...
Operatör<< gerekir; bir üyesi ola...
Yinelemeli olarak kullanarak Emacs ve ...