SORU
12 AĞUSTOS 2008, Salı


Perl içinde atama koşullu operatör sorunları üçlü

Benim program içinde Perl bu kod parçacığını yanlış sonuç veriyor.

$condition ? $a = 2 : $a = 3 ;
print $a;

$condition değeri ne olursa olsun çıkış daima 3, Nasıl oluyor?

CEVAP
5 EYLÜL 2008, Cuma


Öncelik sorunları muzdarip olabilir bir iz var bir kere, Perl anlamaya bir numara demek istediğini düşünüyordum:

perl -MO=Deparse,-p -e '$condition ? $a= 2 : $a= 3 ; print $a;'

Sizin durumunuzda, size gösterecek:

(($condition ? ($a = 2) : $a) = 3);
print($a);
-e syntax OK

bu noktada demek gerekir ..."ah, bu her şeyi açıklıyor"!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Baby Big Mouth

    Baby Big Mou

    5 Mart 2013
  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • kylediablo

    kylediablo

    8 Ocak 2007