Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Perl: Boolean-vertailu

mrkebab [20.09.2006 23:49:14]

#

Kokeilin verrata, että onko sekä $a, että $b muuttujat nollia, mutta ei vain toimi.

Eli eikös sen pitäisi mennä näin:

if($a && $b eq ""){print "kummatkin on nollia"};

Blaze [21.09.2006 08:06:24]

#

Mitä kieltä tää on?

javerkki [21.09.2006 08:42:11]

#

Perl.

Huomasin juuri, että illalla laitoin viestin väärälle osastolle. (mod. korjasi)

Pekka Karjalainen [21.09.2006 11:25:48]

#

Jos en ihan väärässä ole Perlin suhteen, niin siinä on samanlainen oikova &&-operaattori kuin C-kielessä. Silloin testin

($a && $b eq "")

vasen puoli on $a:n testaaminen. Jos $a on nolla, epätosi, tai jokin näiksi evaluoituva muuttuja, ei toista testiä ikinä suoriteta. Ja-lause on kuitenkin epätosi, jos toinen ehto on epätosi.

Testaapa seuraavia:

($a eq "" && $b eq "")

tai

($a eq $b && $a eq "")

Jälkiselittely: En kyllä osaa Perliä yhtään.

A-P [21.09.2006 11:50:40]

#

mrkebab kirjoitti:

Eli eikös sen pitäisi mennä näin:

if($a && $b eq ""){print "kummatkin on nollia"};

En tunne Perliä niin hyvin, että voisin sanoa aivan varmasti, mutta yleensä tuollainen ehtolause tulkittaisiin siten, että

jos $a on tosi JA $b yhtäkuin "" niin ...

Ehtolause toimii ainakin silloin oikein, kun se kirjoitetaan

if (($a eq "") && ($b eq "")) then ...

mrkebab [21.09.2006 15:26:33]

#

Kiitos.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta