<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Commenti a: Golf programming: veni vidi dixi</title>
	<atom:link href="http://eineki.wordpress.com/2009/04/30/golf-programming-veni-vidi-dixi/feed/" rel="self" type="application/rss+xml" />
	<link>http://eineki.wordpress.com/2009/04/30/golf-programming-veni-vidi-dixi/</link>
	<description>Appunti raminghi</description>
	<lastBuildDate>Sun, 20 Dec 2009 19:50:47 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Di: unwiredbrain</title>
		<link>http://eineki.wordpress.com/2009/04/30/golf-programming-veni-vidi-dixi/#comment-126</link>
		<dc:creator>unwiredbrain</dc:creator>
		<pubDate>Thu, 02 Jul 2009 09:52:51 +0000</pubDate>
		<guid isPermaLink="false">http://eineki.wordpress.com/?p=496#comment-126</guid>
		<description>Sebbene ci siano cose che farebbero accapponare la pelle a Douglas Crockford, ecco una soluzione in JavaScript di 112 caratteri:

&lt;code&gt;function l(t){var c=1,f=t[0],s=&#039;&#039;;
for(i=1;i&lt;t.length;i++){if(f==t[i]){c++}
else{s+=c+f;f=t[i];c=1}}return s+c+f}&lt;/code&gt;

Nota: i ritorni a capo non sono necessari, servono solo a non creare una riga troppo lunga e difficile da leggere.</description>
		<content:encoded><![CDATA[<p>Sebbene ci siano cose che farebbero accapponare la pelle a Douglas Crockford, ecco una soluzione in JavaScript di 112 caratteri:</p>
<p><code>function l(t){var c=1,f=t[0],s='';<br />
for(i=1;i&lt;t.length;i++){if(f==t[i]){c++}<br />
else{s+=c+f;f=t[i];c=1}}return s+c+f}</code></p>
<p>Nota: i ritorni a capo non sono necessari, servono solo a non creare una riga troppo lunga e difficile da leggere.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Maxoly</title>
		<link>http://eineki.wordpress.com/2009/04/30/golf-programming-veni-vidi-dixi/#comment-102</link>
		<dc:creator>Maxoly</dc:creator>
		<pubDate>Tue, 05 May 2009 09:40:08 +0000</pubDate>
		<guid isPermaLink="false">http://eineki.wordpress.com/?p=496#comment-102</guid>
		<description>Io invece ho provato in C# (v3.5), anche se non è esattamente un linguaggio che si presta a questo tipo di cose. Ovviamente vi risparmio la classe base di partenza (il main per intenderci) anche perché solo quella supera i 200 caratteri! 

Questa funzione invece arriva a 151 caratteri... di + ninzò! :-D

&lt;pre&gt;
string L(string s){
var l=&quot;&quot;;s.ToList().ForEach(c=&gt;{int i=0,p=l.Length-2;if(p&gt;-1)i=l[p]-48;
l=(l==&quot;&quot;&#124;&#124;l[p+1]!=c)?l+&quot;1&quot;+c:l.Remove(p)+ ++i+c;});return l;}
&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>Io invece ho provato in C# (v3.5), anche se non è esattamente un linguaggio che si presta a questo tipo di cose. Ovviamente vi risparmio la classe base di partenza (il main per intenderci) anche perché solo quella supera i 200 caratteri! </p>
<p>Questa funzione invece arriva a 151 caratteri&#8230; di + ninzò! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<pre>
string L(string s){
var l="";s.ToList().ForEach(c=&gt;{int i=0,p=l.Length-2;if(p&gt;-1)i=l[p]-48;
l=(l==""||l[p+1]!=c)?l+"1"+c:l.Remove(p)+ ++i+c;});return l;}
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Sandro</title>
		<link>http://eineki.wordpress.com/2009/04/30/golf-programming-veni-vidi-dixi/#comment-101</link>
		<dc:creator>Sandro</dc:creator>
		<pubDate>Mon, 04 May 2009 11:53:20 +0000</pubDate>
		<guid isPermaLink="false">http://eineki.wordpress.com/?p=496#comment-101</guid>
		<description>@Simone 
Grande ! Non avevo pensato al map !! 
si.. la form dei commenti è in TDB ... vorrei usare qualcosa di extra-sito tipo friend connect ma devo ancora rifletterci...</description>
		<content:encoded><![CDATA[<p>@Simone<br />
Grande ! Non avevo pensato al map !!<br />
si.. la form dei commenti è in TDB &#8230; vorrei usare qualcosa di extra-sito tipo friend connect ma devo ancora rifletterci&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Simone Carletti</title>
		<link>http://eineki.wordpress.com/2009/04/30/golf-programming-veni-vidi-dixi/#comment-100</link>
		<dc:creator>Simone Carletti</dc:creator>
		<pubDate>Mon, 04 May 2009 10:08:21 +0000</pubDate>
		<guid isPermaLink="false">http://eineki.wordpress.com/?p=496#comment-100</guid>
		<description>@ Sandro
Non mi funziona la form dei commenti sul tuo blog. AJAX non apre la form.

Se usi #map invece di #collect risparmi 4 chrs. ;)</description>
		<content:encoded><![CDATA[<p>@ Sandro<br />
Non mi funziona la form dei commenti sul tuo blog. AJAX non apre la form.</p>
<p>Se usi #map invece di #collect risparmi 4 chrs. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: eineki</title>
		<link>http://eineki.wordpress.com/2009/04/30/golf-programming-veni-vidi-dixi/#comment-99</link>
		<dc:creator>eineki</dc:creator>
		<pubDate>Mon, 04 May 2009 09:47:15 +0000</pubDate>
		<guid isPermaLink="false">http://eineki.wordpress.com/?p=496#comment-99</guid>
		<description>La mia soluzione, in php, conta ben 107 caratteri.  Non so se sia migliorabile se non cambiando linguaggio (come Sandro ha già dimostrato).



&lt;blockquote&gt;function y($l,$n,$c,$r){$t=$l[0]==$n;$s=$r.$c.$n;
return $l[0]?y(substr($l,1),$l[0],$t?$c+1:1,$t?$r:$s):$s;}&lt;/blockquote&gt;

</description>
		<content:encoded><![CDATA[<p>La mia soluzione, in php, conta ben 107 caratteri.  Non so se sia migliorabile se non cambiando linguaggio (come Sandro ha già dimostrato).</p>
<blockquote><p>function y($l,$n,$c,$r){$t=$l[0]==$n;$s=$r.$c.$n;<br />
return $l[0]?y(substr($l,1),$l[0],$t?$c+1:1,$t?$r:$s):$s;}</p></blockquote>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Golf Programming, esercizi di programmazione da risolvere nel minor numero di caratteri possibile &#124; Flying memes</title>
		<link>http://eineki.wordpress.com/2009/04/30/golf-programming-veni-vidi-dixi/#comment-98</link>
		<dc:creator>Golf Programming, esercizi di programmazione da risolvere nel minor numero di caratteri possibile &#124; Flying memes</dc:creator>
		<pubDate>Fri, 01 May 2009 13:09:06 +0000</pubDate>
		<guid isPermaLink="false">http://eineki.wordpress.com/?p=496#comment-98</guid>
		<description>[...] navigando tra i miei feed RSS quando ho trovato questo interessantissimo articolo, ovviamente non ho resistito all&#8217;idea di cercare di sviluppare una soluzione usando Ruby ed [...]</description>
		<content:encoded><![CDATA[<p>[...] navigando tra i miei feed RSS quando ho trovato questo interessantissimo articolo, ovviamente non ho resistito all&#8217;idea di cercare di sviluppare una soluzione usando Ruby ed [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Sandro</title>
		<link>http://eineki.wordpress.com/2009/04/30/golf-programming-veni-vidi-dixi/#comment-97</link>
		<dc:creator>Sandro</dc:creator>
		<pubDate>Fri, 01 May 2009 12:18:02 +0000</pubDate>
		<guid isPermaLink="false">http://eineki.wordpress.com/?p=496#comment-97</guid>
		<description>mmh.. la formattazione di wordpress ha distrutto il mio codice nel precedente messaggio, provo a ripostarlo con il tag pre

&lt;pre&gt;
puts (ARGV[0]&#124;&#124;&quot;1&quot;).scan(/(#{(&#039;0+&#039;..&#039;9+&#039;).to_a.join(&#039;&#124;&#039;)})/).collect{&#124;e&#124; [e[0].size,e[0][0..0]]}.to_s
&lt;/pre&gt;

Vediamo se funziona meglio...</description>
		<content:encoded><![CDATA[<p>mmh.. la formattazione di wordpress ha distrutto il mio codice nel precedente messaggio, provo a ripostarlo con il tag pre</p>
<pre>
puts (ARGV[0]||"1").scan(/(#{('0+'..'9+').to_a.join('|')})/).collect{|e| [e[0].size,e[0][0..0]]}.to_s
</pre>
<p>Vediamo se funziona meglio&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Sandro</title>
		<link>http://eineki.wordpress.com/2009/04/30/golf-programming-veni-vidi-dixi/#comment-96</link>
		<dc:creator>Sandro</dc:creator>
		<pubDate>Fri, 01 May 2009 12:05:37 +0000</pubDate>
		<guid isPermaLink="false">http://eineki.wordpress.com/?p=496#comment-96</guid>
		<description>Ciao, 

ho utilizzato ruby per la soluzione, ecco il codice, sono 100 caratteri (incluso lo spazio):

puts (ARGV[0]&#124;&#124;&quot;1&quot;).scan(/(#{(&#039;0+&#039;..&#039;9+&#039;).to_a.join(&#039;&#124;&#039;)})/).collect{&#124;e&#124;[e[0].size,e[0][0..0]]}.to_s

Per eseguirlo è sufficiente salvarlo in un file &#039;.rb&#039; (esempio: look_and_say.rb) e da riga di comando lanciare:

&gt;&gt; ruby look_and_say.rb 1121304444
&gt;&gt; 211211131044

Sandro</description>
		<content:encoded><![CDATA[<p>Ciao, </p>
<p>ho utilizzato ruby per la soluzione, ecco il codice, sono 100 caratteri (incluso lo spazio):</p>
<p>puts (ARGV[0]||&#8221;1&#8243;).scan(/(#{(&#8216;0+&#8217;..&#8217;9+&#8217;).to_a.join(&#8216;|&#8217;)})/).collect{|e|[e[0].size,e[0][0..0]]}.to_s</p>
<p>Per eseguirlo è sufficiente salvarlo in un file &#8216;.rb&#8217; (esempio: look_and_say.rb) e da riga di comando lanciare:</p>
<p>&gt;&gt; ruby look_and_say.rb 1121304444<br />
&gt;&gt; 211211131044</p>
<p>Sandro</p>
]]></content:encoded>
	</item>
</channel>
</rss>
