D - Labeling Blocks
-
anderson
(38/38)
Jul 23 2002
- Pavel Minayev (3/7) Jul 23 2002 Yep.
<babble> Ada allowed block of code to be labelled so that variables with the same name could be explicitly called. Does D do anything like this? My own opinion is that it's not really nessary in classes if you have these rules: 1) A variable name cannot be reused in the same function/method, but can be the same a global class member variable. 2) Use the "this" tool to access class member variables when there are duplicate names. Parhaps D already has simular rules (I guess I should test it). However, if people like reusing variable names in blocks then parhaps something like this could be used. { int x; //x 1 { prev.x = ... //Access x 1 int x; { prev.prev.x = ... //Access x 1 } } } or Blocks could be named Block1 { int x; Block2 { Block1.x = ... //Access x 1 int x; Block3 { Block1.x = ... //Access x 1 } } } I personally can't see any use for reusing varable names in the same functional space. Why ADA of all languages (strongly typed as it is) allowed for this amazes me.
Jul 23 2002
On Tue, 23 Jul 2002 17:31:10 +0800 "anderson" <anderson firestar.com.au> wrote:1) A variable name cannot be reused in the same function/method, but can be the same a global class member variable.It is already so. No local variable can hide another local variable.2) Use the "this" tool to access class member variables when there are duplicate names.Yep.
Jul 23 2002
"Pavel Minayev" <evilone omen.ru> wrote in message news:CFN374606384730556 news.digitalmars.com...On Tue, 23 Jul 2002 17:31:10 +0800 "anderson" <anderson firestar.com.au>wrote:be1) A variable name cannot be reused in the same function/method, but canBut you can do this right? void func() { { int i = 10; while (i > 0) { printf ("i == %d\n", i); i--; } } { int i = 0; while (i < 10) { printf ("i == %d\n", i); i++; } } } -- Stijn OddesE_XYZ hotmail.com http://OddesE.cjb.net _________________________________________________ Remove _XYZ from my address when replying by mailthe same a global class member variable.It is already so. No local variable can hide another local variable.2) Use the "this" tool to access class member variables when there are duplicate names.Yep.
Jul 24 2002
"OddesE" <OddesE_XYZ hotmail.com> wrote in message news:ahmjmf$1d8$1 digitaldaemon.com...But you can do this right? void func() { { int i = 10; while (i > 0) { printf ("i == %d\n", i); i--; } } { int i = 0; while (i < 10) { printf ("i == %d\n", i); i++; } } }Yes, just not: void func() { int i; { int i; } } The reason is that most of the time that was a mistake, I know I have been caught by it more than once.
Jul 24 2002