Date: Tue, 1 Feb 2005 15:04:37 -0800 From: John-Mark Gurney <gurney_j@resnet.uoregon.edu> To: Paul Richards <paul@originative.co.uk> Cc: arch@freebsd.org Subject: Re: c99/c++ localised variable definition Message-ID: <20050201230437.GD19624@funkthat.com> In-Reply-To: <20050201190416.GG61409@myrddin.originative.co.uk> References: <20050128173327.GI61409@myrddin.originative.co.uk> <20050131102630.GJ61409@myrddin.originative.co.uk> <20050201180624.GB19624@funkthat.com> <20050201190416.GG61409@myrddin.originative.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
Paul Richards wrote this message on Tue, Feb 01, 2005 at 19:04 +0000: > On Tue, Feb 01, 2005 at 10:06:24AM -0800, John-Mark Gurney wrote: > > Paul Richards wrote this message on Mon, Jan 31, 2005 at 10:26 +0000: > > > > [...] > > > > > I think the loop usage though is one clear example where it is > > > clearer. I think there are others as well; where the usage of the > > > variable is clearly localised it is much easier to see a local > > > definition than to have to jump back and forth to find out what > > > variables are. > > > > I personally think it isn't. One thing that I do in python all to > > regularly (because it lacks variable declarations), is attempt to do: > > for i in foo: > > for j in bar: > > for i in baz: > > That would work fine with c99. Depends upon your definition of working fine.. :) it doesn't work fine if you do: for i in foo: for j in bar: for i in baz: pass print i When the print i is suppose to return the element from foo, not baz, because you later added baz because of fixing another bug.. -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050201230437.GD19624>