/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
vbscript boolean short circuit
Fra : Leif Neland


Dato : 12-06-07 14:02

Kan man ikke som i f.ex. php stoppe beregningen af et logisk udtryk, så
snart man kan bestemme værdien?

Altså
if x <> 0 and y/x > 1 then

Hvis x = 0 udføres ikke y/0, som giver fejl.

Skal man virkelig lave
if x <> 0 then
if y/x > 1 then

Det giver lidt langhårede if-else konstruktioner.

Leif



 
 
Michael Zedeler (12-06-2007)
Kommentar
Fra : Michael Zedeler


Dato : 12-06-07 15:20

Leif Neland wrote:
> Kan man ikke som i f.ex. php stoppe beregningen af et logisk udtryk, så
> snart man kan bestemme værdien?

Af manualen ser det ud til at de er short circuit.

http://dk2.php.net/manual/en/language.operators.logical.php

Mvh. Michael.

Birger (12-06-2007)
Kommentar
Fra : Birger


Dato : 12-06-07 15:51

"Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
news:bYxbi.24$VO5.3@news.get2net.dk...
> Leif Neland wrote:
>> Kan man ikke som i f.ex. php stoppe beregningen af et logisk udtryk, så
>> snart man kan bestemme værdien?
>
> Af manualen ser det ud til at de er short circuit.
>
> http://dk2.php.net/manual/en/language.operators.logical.php
>
> Mvh. Michael.

I asp-gruppen er et spørgsmål om vbscript, som besvares med en reference til
php manual.
Er det kun mig der er forvirret?

I PHP kan det ønskede udføres som

if (( x!= 0) && (y/x > 1)) { ... }

Birger



Michael Zedeler (12-06-2007)
Kommentar
Fra : Michael Zedeler


Dato : 12-06-07 16:44

Birger wrote:
> "Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
> news:bYxbi.24$VO5.3@news.get2net.dk...
>> Leif Neland wrote:
>>> Kan man ikke som i f.ex. php stoppe beregningen af et logisk udtryk, så
>>> snart man kan bestemme værdien?
>> Af manualen ser det ud til at de er short circuit.
>>
>> http://dk2.php.net/manual/en/language.operators.logical.php
>>
>> Mvh. Michael.
>
> I asp-gruppen er et spørgsmål om vbscript, som besvares med en reference til
> php manual.
> Er det kun mig der er forvirret?
>
> I PHP kan det ønskede udføres som
>
> if (( x!= 0) && (y/x > 1)) { ... }

Jeg har ikke fået nok søvn i nat. Det er vist forklaringen

Mvh. Michael.

Birger (12-06-2007)
Kommentar
Fra : Birger


Dato : 12-06-07 17:53

"Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
news:ebzbi.410$7j7.309@news.get2net.dk...
>> I asp-gruppen er et spørgsmål om vbscript, som besvares med en reference
>> til php manual.
>> Er det kun mig der er forvirret?
> Jeg har ikke fået nok søvn i nat. Det er vist forklaringen

Tænkte nok der måtte være en eller anden form for logik, som jeg ikke kunne
få øje på... ;>)

Birger



Jørn Andersen (12-06-2007)
Kommentar
Fra : Jørn Andersen


Dato : 12-06-07 19:08

On Tue, 12 Jun 2007 15:01:37 +0200, "Leif Neland" <leif@neland.dk>
wrote:

>Kan man ikke som i f.ex. php stoppe beregningen af et logisk udtryk, så
>snart man kan bestemme værdien?
>
>Altså
>if x <> 0 and y/x > 1 then
>
>Hvis x = 0 udføres ikke y/0, som giver fejl.
>
>Skal man virkelig lave
>if x <> 0 then
> if y/x > 1 then
>
>Det giver lidt langhårede if-else konstruktioner.

Så vidt jeg kan se, er grunden til at VB6 og VBScript ikke understøtter
"short circuit evaluation", at deres AND, OR osv. ikke kun udfører en
boolsk, men også en bitwise sammenligning.

Se fx:
<url: http://discuss.joelonsoftware.com/default.asp?joel.3.60752.26>
<url: http://blogs.msdn.com/ericlippert/archive/2004/07/15/184431.aspx>

VB.Net skulle derimod understøtte begge dele.

Så du må leve med de nestede If'er


Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409081
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste