On Tuesday 13 December 2011 16:06:44 enrico franchi wrote: > Il problema principale e' che non ti fanno fare monkey patching degli > interi (o delle stringhe)... > Se no sarebbe stato banale.
E già, ma io personalmente non ne sono dispiaciuto :) Quando ho scritto che si può ottenere lo stesso risultato dell'esempio di Manlio, in una sessione interattiva dell'interprete, ovviamente intendevo semplicemente dire che si può "barare" affinché l'interprete faccia apparire lo stesso risultato del 2 + '3viso' di PHP. Quello che mi era venuto in mente, senza testarlo, era una cosa del genere. Sottolineo che non è semanticamente la stessa cosa che ha fatto Manlio in Lisp, è solo un trucco :) Ah e tra l'altro solo per Unix visto che sto usando readline ;) Ecco cosa mi era passato per la testa: re_numbers = numbers = re.compile(r'(\d+)+') re_operators = re.compile(r'[+\-*/]+') def trick(t, v, tb): if isinstance(v, TypeError): line = readline.get_history_item( readline.get_current_history_length()) numbers = [int(n) for n in re_numbers.findall(line)] operators = re_operators.findall(line) # Da qui in poi è banale Ovviamente usando: sys.excepthook = trick Ripeto, è soltanto un modo per far *apparire* lo stesso risultato: non è il porting in Python del codice di Manlio. -- Daniele Tricoli 'Eriol' http://mornie.org _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python