ruby c'est plus fort que toi !
Par jblanche le mercredi 27 juin 2007, 23:36 - geeks - Lien permanent
Récemment, j'ai eu à coder des petits scripts que j'aurais pu faire en assembleur (n'est ce pas Toby ;)), C, C++, PHP, Python... mais vu que j'essaie de m'y mettre un peu plus chaque jour, j'ai choisi de les faire en ruby.
Car il ne faut pas l'oublier, rails n'est "que" la killer-app de ruby, mais le language existait bien avant et est déjà très très puissant seul, j'en veut pour preuve le petit bout de code suivant :
Comment récupéré une série de photos sur le net (numérotées) en peu de temps :
#!/usr/bin/ruby
require 'net/http'
Net::HTTP.start("www.site.ext") do |http|
for i in 1204...1642 #les photo sont nommées de _DSF1204 a _DSF1641
http.request_get("/chemin/vers/les/images/_DSF"+i.to_s+".jpg") do |response|
if(response.code=="200") #si la reponse du serveur est 200 (la page existe)
open(i.to_s+".jpg", "wb") do |file|
file.write(response.body) #ecriture ds le file
end
end
end
end
end
Voilà, le code rempli parfaitement sa mission est plus que lisible, et s'écrit en cinq minutes.
J'apprécie tout particulièrement la syntaxe du for (c'est quand même plus joli que for($i=1204;$i<1642;$i++) ainsi que la façon de récupérer l'objet response renvoyé par la méthode request_get !
Quand je vous le dis que ruby est génial !
Commentaires
Oui, je suis graphiste, et là c'est vrai que ton code est super lisible !
(mais c'est comme en photo, l'appareil ne fait pas tout, c'est le photographe qui est derrière qui compte !)
Certes, mais il est plus facile de faire une joli photo avec un bon reflex qu'avec un téléphone portable (ceux qui verrait ici un rapport avec Ruby et PHP ont vraiment les idées mal placées
)
C'est sur que c'est plus lisible que la plupart des autres langages (voire tous), c'est la principale force de Ruby, sa syntaxe. Mais tu pourrais rendre ce bout de code encore plus lisible comme ici : http://pastie.caboo.se/74300
Je trouve ça plus clair que le for qui ne veut rien dire finalement (et puis en plus upto est fait pour ça ^^)
Ah ouais effectivement, je ne connaissait pas mais c'est plus classe
Un commentaire d'un des premiers blogueur rails que j'ai lu, ca aussi c'est classe :-P
Fil des commentaires de ce billet