MRAB wrote:
Tim Chase wrote:
switch row['recordtype']:
case '01':
phone.international += Decimal(row['internationalcost'])
// optionally a "break" here depending on
// C/C++/Java/PHP syntax vs. Pascal syntax which
// doesn't have fall-through
case '02':
phone.text_messaging += (
int(row['textmessages sent']) +
int(row['pages received']) +
int(row['textmessages sent']) +
int(row['pages received'])
...
default:
raise WhatTheHeckIsThis()
This doesn't convert well (i.e. compactly) to a dictionary-dispatch
idiom. :(
Shouldn't 'case' be indented to the same level as 'switch'? And
'default' could be replaced by 'else' without ambiguity.
But I want a GREEN bike-shed! :-) Yeah, "else" works nicely and
makes sense. Indentation could go either way in my book, but I
lean towards indented "case" because the "switch" can get easily
lost if the "case"s aren't indented:
switch foo:
case 1:
stuff()
case 2:
morestuff()
switch bar:
case 3:
whatever()
case 4:
yet_more()
else:
whip_it()
vs
switch foo:
case 1:
stuff()
case 2:
morestuff()
switch bar:
case 3:
whatever()
case 4:
yet_more()
else:
whip_it()
Just my ponderings...
-tkc
--
http://mail.python.org/mailman/listinfo/python-list