<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2013/9/17 Piergiuliano Bossi <span dir="ltr"><<a href="mailto:pgbossi@gmail.com" target="_blank">pgbossi@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>I lambda in python sono verbosi e visto che i vari map, reduce, filter, ... non sono metodi della collezione, si compongono in modo che io percepisco come innaturale.</div><div>Ad esempio, diciamo che abbiamo un array di interi e vogliamo somarne i cubi.</div>


<div><br></div><div>Ruby:</div><div><span style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">>> a = [1, 7, 22, 3]</span><br style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">


<span style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">=> [1, 7, 22, 3]</span><br style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">


<span style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">>> a.map{|x| x*x*x }.reduce{|sum, x| sum + x}</span><br style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">


<span style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">=> 11019</span><br></div><div><span style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)"><br>


</span></div><div>Scala:</div><div><span style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">scala> val a = Array(1, 7, 22, 3)</span><br style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">


<span style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">a: Array[Int] = Array(1, 7, 22, 3)</span><br style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">


<br style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)"><span style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">scala> a.map(x => x*x*x).reduce((sum, x) => sum+x)</span><br style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">


<span style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">res1: Int = 11019</span><br></div><div><span style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)"><br>


</span></div><div>Python:</div><div><span style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">>>> a = [1, 7, 22, 3]</span><br style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">


<span style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">>>> reduce(lambda sum, x: sum+x, map(lambda x: x*x*x, a))</span><br style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">


<span style="color:rgb(64,64,64);font-family:Roboto,arial,sans-serif;font-size:13px;line-height:18px;background-color:rgb(248,248,248)">11019</span></div></blockquote></div><br>Ooops saro' io ma ..... la versione Python la legge anche mio figlio 14enne che non conosce Python,  le altre due fatico a capire cosa siano io che programmo da quasi 25 anni in non so quanti linguaggi (e relativi cancheri tirati prima di conoscere il python).</div>

<div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Poi, de gustibus, sia chiaro. Pero' la pulizia e chiarezza di Python (regexp a parte ma li son loro a essere bacate) non la ho incontrata altrove.<br clear="all">

<div><br></div><div>Carlos</div>-- <br><div dir="ltr"><div><span style="font-family:arial;font-size:small">"Somos los que amasan, sin embargo no tenemos pan, </span></div><div style="font-family:arial;font-size:small">

somos los que cavan el carbón, sin embargo tenemos frío </div><div style="font-family:arial;font-size:small">somos los que no tienen nada, y estamos viniendo a tomar el mundo."</div><div><span style="font-family:arial;font-size:small">Tassos Livaditis (Poeta greco, 1922, 1988)</span></div>

</div>
</div></div>