Hello!

Gabor HALASZ írta:
>>
>> log "1"
>> if( "wq" eq "qw" )
>> {
>>         log "2"
>> }
> ==
Man szerint itt nem úgy kell, mint shellben. eq, gt, stb van a 
stringekre, ==, !=, stb. meg a számokra:
<, <=, >, >=, ==, !=   - NUMERICAL COMPARISON
LT, LE, GT, GE, EQ, NE - TEXT COMPARISON
>
> if( "0" )
> {
>         log "4"
> }
> Ez rendben van, a nulla karakter nemnulla.
Tényleg, ezt elnéztem, legalábbis ezen man idézet szerint:
       maildrop evaluates all expression as text strings.  In the 
context of a
       logical expression, an empty string, or the number 0 constitutes 
a log-
       ical false value, anything else is a logical true value.
De akkor meg miért írja a NUMERICAL COMPARISON -os részben azt, hogy:
       the  result  of  the comparison is the text string "1", otherwise 
it is
       the text string 0.
Vagyis, ha jól értem, akkor az 1 == 0 -nak "0" -t kéne adnia. De ha az 
if meg csak az üres stringet veszi hamisnak, akkor így tényleg mindig 
igaz lesz az 1 == 0.

Visszont ezek is igazak lesznek sajna:
if( "" )
{
        ...
}

if( 1 == 0 )
{
        ...
}

if( 0 )
{
        ...
}

Ezt , de még a próba-csis kipróbáltam, de nem jött be:
if( 1 eq 0 )
{
        ...
}
(Itt is lefut az if ág.)

man maildroprc meg azt mondja, hogy logikai hamisnak az üres string 
számít, meg a nulla szám.


üdv.
SA.

_________________________________________________
linux lista      -      [email protected]
http://mlf2.linux.rulez.org/mailman/listinfo/linux

válasz