[Python] [OT]: PHP critique [ERA] Re: Python e html

Daniele Tricoli eriol a mornie.org
Mar 13 Dic 2011 22:43:56 CET


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


Maggiori informazioni sulla lista Python