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

  • Eddie Bravo

    Eddie Bravo

    17 EKİM 2006
  • Jejoab

    Jejoab

    4 NİSAN 2008
  • SuppressedStorm

    SuppressedSt

    11 AĞUSTOS 2013