Diskuze: "Špatné" odsazení

Člen

Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
def tokType(token):
if type(token) is str:
if ":" in token:
out = ""
for c in token:
if c == ":":
break
out += c
return out
else:
return None
elif type(token) is list:
for i, t in enumerate(token):
if i != 0 and tokType(t) != tokType(token[i-1]):
return "multi"
return tokType(token[0])
else:
raise TypeError("Unsupported type {0}, expecting List or String!".format(type(token)))
Takto by to malo byť správne odsadené
Ahoj,
ze cvičných důvodů jsem zkusil pochopit, co ta funkce dělá a pak jsem ji
trochu přepsal:
def tokType1(t):
if isinstance(t, (str, list)):
try:
return t[:t.index(":")] if t.find(":")>-1 else None
except AttributeError:
return "multi" if len(set(map(tokType, t)))> 1 else tokType(t[0])
raise TypeError("Unsupported type %s, expecting List or String!" %type(t))
Snažil jsem se ten kód trochu "vysušit", hlavně omezit počty podmínek a returnů.
Celý kód i s jednoduchou kontrolou proti tvojí funkce je tady:
http://pastebin.com/EC7vcfLG
Nenarazil jsem na žádný problém, ale nevím, k čemu to potřebuješ
Jo, už jsem si všiml, že se editor rozhodl změnit ze Soft Tabs zpátky na Hard Tabs. Už jsem to vyřešil.
Jo, dík, ale asi zůstanu u Python-like zápisu. Každopádně jsem trochu sloučil ty Ify.
V pohodě, jak jsem psal, já to psal kvůli sobě. Mimochodem, nechceš přispět:
http://www.itnetwork.cz/…517b24594cd8
Založil jsem vlákno, abych zjistil, co si každý představuje pod "python-like".
Zobrazeno 6 zpráv z 6.