[Python] Filtrare un carattere.

Manlio Perillo manlio.perillo a gmail.com
Dom 22 Mar 2015 17:24:19 CET


2015-03-22 17:06 GMT+01:00 enrico franchi <enrico.franchi a gmail.com>:

>
> 2015-03-22 15:35 GMT+00:00 Manlio Perillo <manlio.perillo a gmail.com>:
>
>> Tra l'altro il tutto è complicato dal fatto, AFAIK, che ciascuno degli
>> operandi può avere effetti collaterali.
>> Ad esempio:
>> https://play.golang.org/p/jc0vKCWFu7
>>
>
> Scusa non comprendo... in C (e in Go) && introduce un sequence point.
> Quindi *sai* l'ordine in cui le cose sono valutate.
>

Logical operators apply to boolean values and yield a result of the same
type as the operands. The right operand is evaluated conditionally.
Senza il "conditionally", il compilatore potrebbe evaluare `*p` anche se `p
!= ni`l è falso.

Ovviamente in C (e in GO) se scrivi & *non* hai un sequence point.
>

In realtà, come dici dopo, Go non ha la nozione di sequence point.


> Solo che in C non hai garanzie sull'ordine di valutazione. In Go invece
> hanno fatto una cosa molto saggia ed e' garantirti da specifica che
> l'ordine di valutazione delle espressioni e' lessicografico da sinistra a
> destra. Ovvero se scrivi f() & g() (ammesso che tu lo possa scrivere... in
> generale hai cazzi con i tipi) hai certezza che f() sara' valutato prima di
> g().
>
> Dopo di che mi gira il cazzo perche' in Go non c'e' un singolo modo
> decente per convertire un booleano in intero (no, fare un if non e' un modo
> decente) e per *nessuna* ragione che a me paia sensata (per favore,
> qualcuno mi spieghi il perche') & e | non funzionano con operandi
> booleani.  Voglio dire, sarebbero operazioni perfettamente definite e type
> safe. WTF!
>
>
La risposta ufficiale credo sia : "ti scrivi delle funzioni apposite "


Ciao  Manlio
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150322/751969d3/attachment-0001.html>


Maggiori informazioni sulla lista Python