Path: csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail
From: "R.Wieser"
Newsgroups: microsoft.public.scripting.vbscript
Subject: Re: Weird bug
Date: Tue, 17 Nov 2015 10:44:56 +0100
Organization: Aioe.org NNTP Server
Lines: 77
Message-ID:
References:
NNTP-Posting-Host: XSLsI1Jcl7NultOj/0AyIg.user.speranza.aioe.org
X-Complaints-To: abuse@aioe.org
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200
X-Notice: Filtered by postfilter v. 0.8.2
X-Newsreader: Microsoft Outlook Express 5.00.2615.200
X-Priority: 3
X-MSMail-Priority: Normal
Xref: csiph.com microsoft.public.scripting.vbscript:11189
Mayayana,
Evertjan is right, it works as designed.
Lets look at it from another angle, and regard the following: If a condition
is met, I want both X and Y to be set to Zero. I would, and always have
written that as :
if condition then x=0: y=0
You on the other hand would be reading it as:
if condition then x=0:
y=0
To be more specific, you would not be able to write a one-line,
multy-command "then" ....
> as the same as a line return, simply used for formatting
Well, that is where you problem exists. The line return terminates a
*line* (which can hold one or more commands), the colon only terminates a
single command.
> It works fine in VB6.
I strongly doubt that. Using it predecessor (VB5) a line like:
if False then debug.print "1": debug.print "2"
prints neither the "1" nor the "2".
> I'm talking about the other use of colons -- to serve as
> line returns in order to write compact code
Suggestion: Do not try to take a feature on one programming language and
expect another one (even though deceptivly named almost the same) to adhere
to it. Each language "does its own thing". No ammount of "yes but ...."
will change anything to that I'm afraid.
Regards,
Rudy Wieser
-- Origional message
Mayayana schreef in berichtnieuws
n2d78f$639$1@dont-email.me...
> I just wasted hours before discovering this:
>
> x = -18
>
> x = x + 9: If x > 10 Then x = 10: If x < 0 Then x = 0
>
> MsgBox x
>
> ' Returns -9, but, this works:
>
> x = -18
>
> x = x + 9: If x < 0 Then x = 0
>
> MsgBox x
>
> Why? Is only one colon allowed? I've never noticed that
>
> problem before. It works fine in VB6.
>
>
>
>
>
>
>
>