J'ai oublié de dire que la première était bcp moins performante sur un gros fichier et que Ruby bossait par defaut en multi-précision:
cedric@follc:~/tmp$ ruby -e 'for i in 1..100000;puts rand(10000000000000000);end' > toto
cedric@follc:~/tmp$ time ruby -e 's=0;while gets do s += $_.to_i end;puts s' < toto
499355529220014254738
[^] # Re: Ruby rulez !!!
Posté par Cédric Foll . En réponse au journal Somme en ligne de commande. Évalué à 0.
cedric@follc:~/tmp$ ruby -e 'for i in 1..100000;puts rand(10000000000000000);end' > toto
cedric@follc:~/tmp$ time ruby -e 's=0;while gets do s += $_.to_i end;puts s' < toto
499355529220014254738
real 0m1.828s
user 0m1.780s
sys 0m0.000s
Oui, je sais ça calme ;-)