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