One thing that I often find not handy in the design of do-while loops: the
scope of their body ends before the while:
void main() {
do {
int x = 5;
} while (x != 5); // Error: undefined identifier x
}
So I can't define inside them variables that I test in the while
On 12/28/2011 02:29 PM, bearophile wrote:
One thing that I often find not handy in the design of do-while loops: the scope of their
body ends before the while:
void main() {
do {
int x = 5;
} while (x != 5); // Error: undefined identifier x
}
So I can't define inside them
A very small cheat:
void main()
{
if (int x = 0)
do {
x = 5;
} while (x != 5);
}
Only works for this simple case though. Put your post in d.general, I
totally agree with it as well.
On 12/28/2011 04:01 PM, Andrej Mitrovic wrote:
A very small cheat:
void main()
{
if (int x = 0)
do {
x = 5;
} while (x != 5);
}
Only works for this simple case though. Put your post in d.general, I
totally agree with it as well.
This won't work. The 'if' condition is
On 12/28/2011 8:29 AM, bearophile wrote:
One thing that I often find not handy in the design of do-while loops: the scope of their
body ends before the while:
void main() {
do {
int x = 5;
} while (x != 5); // Error: undefined identifier x
}
I would just rewrite it like
Timon Gehr:
I fully agree, but why does this go to D.learn?
Because I think there's no hope to see this situation changed :-)
Bye,
bearophile
On 12/28/2011 06:42 PM, bearophile wrote:
Timon Gehr:
I fully agree, but why does this go to D.learn?
Because I think there's no hope to see this situation changed :-)
Bye,
bearophile
Why? The only D code that would get broken would be code that uses a
global variable in the loop
28.12.2011 16:29, bearophile пишет:
One thing that I often find not handy in the design of do-while loops: the scope of their
body ends before the while:
void main() {
do {
int x = 5;
} while (x != 5); // Error: undefined identifier x
}
So I can't define inside them
On 28-12-2011 18:50, Timon Gehr wrote:
On 12/28/2011 06:42 PM, bearophile wrote:
Timon Gehr:
I fully agree, but why does this go to D.learn?
Because I think there's no hope to see this situation changed :-)
Bye,
bearophile
Why? The only D code that would get broken would be code that
On 12/28/2011 09:32 PM, Alex Rønne Petersen wrote:
On 28-12-2011 18:50, Timon Gehr wrote:
On 12/28/2011 06:42 PM, bearophile wrote:
Timon Gehr:
I fully agree, but why does this go to D.learn?
Because I think there's no hope to see this situation changed :-)
Bye,
bearophile
Why? The only
On Wednesday, December 28, 2011 21:37:56 Timon Gehr wrote:
Well, do loops are the least frequently used looping constructs. Also,
if you actually have code like the following
import foo; // defines global symbol 'x'
void main(){
do {
int x;
// ...
bearophile wrote:
void main() {
do {
int x = 5;
} while (x != 5); // Error: undefined identifier x
}
Do you mean, that the similar while-loop should also be okay?
| void main() {
| while (x != 5) /* uses `x' out of _following_ scope */ {
| int x = 5;
| };
On 12/28/2011 10:45 PM, Manfred Nowak wrote:
bearophile wrote:
void main() {
do {
int x = 5;
} while (x != 5); // Error: undefined identifier x
}
Do you mean, that the similar while-loop should also be okay?
| void main() {
| while (x != 5) /* uses `x' out of
13 matches
Mail list logo