char** to {'':('',)}
Grant Griffin
not.this at seebelow.org
Fri Aug 31 12:01:07 EDT 2001
In article <mailman.999116565.21504.python-list at python.org>, "Tim says...
>
>[Ignacio Vazquez-Abrams]
>> I am using the following blecherous code to do a conversion from
>> char*s in the form "<a>=<b>" to the form {'<a>':(tuple of '<b>'s), ...}.
>> I'm sure that there's probably a more straightforward way out there.
>> Does anyone have any ideas as to how I can simplifiy this?
>
>Ya, write it in Python -- coding in C is a PITA. If you need to do it in C
>for speed (whatever), don't be afraid of gotos!
I've been developing a theory that people who use 8 spaces per indent (via hard
tabs) become less afraid of gotos than the rest of us <wink>.
>The Python implementation
>has many examples of this, jumping to an error label at the end when things
>go wrong "in the middle".
That's a good reason. (I've also found gotos quite helpful in converting
Fortran to C <wink>.)
I can't say I use them much, but I _am_ a big fan of the "almost-goto"
constructs like return, break, and continue. In particular, I like to do early
returns to avoid needless nesting.
Coincidentally, I thought I'd seen everything there was to see about gotos until
just yesterday, when I saw a new form that I had never ever seen (or even
thought of) before. It goes to this:
bool foo()
{
bool flag = false;
for (;;)
{
if (x)
{
flag = true;
break;
}
do_stuff;
if (y)
{
flag = true;
break;
}
do_more_stuff;
break;
}
return flag;
}
whereas any sensible person would have done:
bool foo()
{
if (x)
return true;
do_stuff;
if (y)
return true;
do_more_stuff;
return false;
}
or maybe even used gotos <wink>. This construct occurred repeatedly throughout
the code. The author considered it to be a "feature".
a-drawing-should-have-no-unnecessary-lines-and
-a-machine-should-have-no-unnecessary-parts-ly y'rs,
=g2
_____________________________________________________________________
Grant R. Griffin g2 at dspguru.com
Publisher of dspGuru http://www.dspguru.com
Iowegian International Corporation http://www.iowegian.com
More information about the Python-list
mailing list