N'oubliez pas qu'il est fourni en standard avec la plupart des distributions Linux et avec MacOS X 10.2 (pour Windows des binaires sont disponibles). Vous verrez, l'essayer, c'est l'adopter !
NdM: Au passage, je signale qu'une nouvelle version des bindings Ruby/Gnome2 (qui sont déjà très avancés dans leur version actuelle) devrait sortir ce Week-End. Cette nouvelle version apporte son lot de fonctionnalités (à vous de détailler le change log), mais je me bornerai à souligner l'intégration de nombreuses bibliothèques à la distribution standard de Ruby, ce qui prouve à la fois le dynamisme de sa communauté (hélas, encore trop peu francophonne, mais cela ne tiens qu'à nous :) ), et sa maturité. En vrac, les sujets abordés passent par l'OpenSSL, XML, YAML, la base de registre Windows, la programmation distribuée, ...
A noter l'annonce du port de Ruby sous WindowsCE (les japonais sont friants de PDA ...).
Pour terminer, quelques liens pour vous faire une idée, ou pour plonger carrement dedans :
Focus sur certains points de la nouvelle version 1.8.0 :
http://whytheluckystiff.net/articles/2003/08/04/rubyOneEightOh
Sur DLFP, quelques brèves :
http://linuxfr.org/index.php?file=recherche.html&recherche=ruby
Les communautés :
Le *FrenchGroup* : http://rubygarden.org/ruby?FrenchGroup
La mailing liste française (en sommeil) : ruby-fr-ctl@ruby-lang.org
Le Wiki principal : http://rubygarden.org/ruby?HomePage
Le newsgroup, très actif : comp.lang.ruby
Les Applications / bibliothèques :
Le répertoire central : http://raa.ruby-lang.org/
Le nouveau site OpenSource Ruby : http://rubyforge.org/
Les livres :
Le seul en français (pour l'instant j'espère) : http://www.oreilly.fr/catalogue/rubynut.html
Le livre de référence (sous Open Publication License) : http://www.pragmaticprogrammer.com/ruby/downloads/book.html
Enfin quelques présentations présentant rapidement les fonctionnalités principales de Ruby :
La seule en français : http://www.approximity.com/ruby/ruby_fr/siframes.html
http://www.pragmaticprogrammer.com/talks/perlmongers/perlmongers.htm
http://rubyhacker.com/rubyperl/slide1.html
http://www.hypermetrics.com/ruby37.html
Aller plus loin
- Le Change Log (1 clic)
- Le site principal et la version 1.8.0 (3 clics)
- L'installateur pour Windows (pas encore mis à jour depuis la dernière preview) (1 clic)
- Un tutorial Français (2 clics)
- Un deuxième ... (0 clic)
- et un dernier, toujours en Français (1 clic)
# Re: Ruby 1.8.0 est sorti
Posté par Xavier Teyssier (site web personnel) . Évalué à 10.
On entends de plus en plus parler de Ruby et de Python. Quelles sont les différences : sont ils plutôt concurrents ou complèmentaires ?
Je serais bien tenté de rajouter que je voudrais des avis objectifs de la part de ceux qui connaissent les 2 langages, mais j'ai le vague sentiment que ce serait peine perdue ;-)
[^] # Re: Ruby 1.8.0 est sorti
Posté par Sixel . Évalué à 9.
"Il faut" (Ezekiel 18:4) "forniquer" (Corinthiens 6:9, 10) "avec des chiens" (Thessaloniciens 1:6-9) "morts" (Timothée 3:1-10).
[^] # Re: Ruby 1.8.0 est sorti
Posté par jmfayard . Évalué à -6.
Ok, je -->[]
[^] # Re: Ruby 1.8.0 est sorti
Posté par bmc . Évalué à 8.
Vous l'aurez compris, je suis (j'étais ?) un fan de Perl, et je retrouve dans Ruby ce qui a fait la force de Perl («il y a plus d'un moyen de le faire»), dans un langage 100% objet (absolument tout est un objet, ce qui peut paraître trop mais est en fait très pratique).
Les afficionados de Python me rétorqueront que l'indentation obligatoire dans Python permet de faire en sorte que le code soit lisible facilement, si un goret est passé par là. Pour ma part, je répondrais que si un goret est passé, ce n'est sûrement pas l'indentation qui sera la plus mauvaise...
Ce qu'on peut reprocher à Ruby (par rapport à Perl): sa lenteur. C'est bien plus lent que Perl, mais l'auteur a bien dit qu'il ne se focalisait pas pour l'instant sur la rapidité. Enfin bon, c'est bien pratique pour faire des petits scripts système.
[^] # Re: Ruby 1.8.0 est sorti
Posté par bmc . Évalué à 6.
De la FAQ Ruby, cité sur le site de Python comme étant une bonne comparaison: http://www.rubygarden.org/iowa/faqtotum/abo6DJGbLjE6/b/1.11.7.2.5(...)
Un autre lien intéressant que j'ai trouvé en cherchant sur google :)
http://www.rexx.com/~oinkoink/Ruby_v_Python.html(...)
[^] # Re: Ruby 1.8.0 est sorti
Posté par Fabimaru (site web personnel) . Évalué à 7.
- un mélange d'indentation avec des tabulations et des espaces peut être trompeur (si on utilise deux éditeurs différents avec des indentations différentes)
- si une fonction ou une classe et longue, il peut être difficile de voir quel bout de code appartient à quel bloc (à moins d'avoir des barres verticales pour l'indentation comme dans PythonWin).
[^] # Re: Ruby 1.8.0 est sorti
Posté par Elrik de Melnibone . Évalué à 4.
Bon, d'accord, mais quand t'as pas l'indentation, c'est pas plus facile à voir !
[^] # Re: Ruby 1.8.0 est sorti
Posté par Nicolas Roard (site web personnel) . Évalué à 8.
Et ne pas avoir de délimiteurs style accolades est pas terrible pour plusieurs raisons, dont par exemple les charmants problèmes qui peuvent se poser avec cvs, différents éditeurs, ou simplement le fait d'avoir de ne pas avoir le raccourci très pratiques (sous vim ou emacs) de "sauter" d'une accolade fermante à l'accolade ouverte correspondante et vice versa.
Bref. Python en tant que langage, pour ce que j'en ai vu c'est sympa, mais cette histoire de délimitation des blocs par des blancs ... berk.
Accessoirement, sans être vraiment rentré dans le détail des deux langages, j'avait plus apprécié le côté tout-objet de ruby.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Amand Tihon (site web personnel) . Évalué à 10.
ou même, pour les nostalgiques du pascal :
C'est pas un beau langage, ça ? :)
[^] # Re: Ruby 1.8.0 est sorti
Posté par Nicolas Roard (site web personnel) . Évalué à 3.
C'est pas un beau langage, ça ? :)
Honnêtement ? c'est assez hideux àmha.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Nicolas Roard (site web personnel) . Évalué à 2.
Enfin moi ce qui m'avait de toute façon plus intéressé dans Ruby par rapport à Python, c'était le côté fortement orienté objet. Mais bon, ça n'empêche pas que Python sois un langage sympa et tout (beaucoup de choses vraiment Très Sympas utilisent python ;-), c'est juste que moi je m'y suis pas fait (ou on va dire que j'ai pas pris la peine).
[^] # Re: Ruby 1.8.0 est sorti
Posté par Amand Tihon (site web personnel) . Évalué à 1.
Pour les délimiteurs de bloc... Ben vu que le # indique un commentaire, tu peux utiliser ce que tu veux, même #debut/#fin, ton bloc devra toujours être indenté :)
Sinon, pour l'orienté objet, je rappelle qu'en python c'est facile, tout est objet.
Une fonction est un objet de type "function".
Une déclaration de classe est un objet de type "class".
Une méthode est un objet de type "instanced method" (ou "class method")
Même un type est un objet de type... "type", eh oui.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Frederick Ros . Évalué à 1.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Pascal Terjan (site web personnel) . Évalué à 1.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Philippe F (site web personnel) . Évalué à 3.
C'est vrai que c'est chiant a mourrir. Le probleme, c'est quand tu edites le code de qq'un d'autre qui n'a pas les memes reglages sur ton editeur que toi. L'horreur complete etant quand il melange tab et space, genre il indente a deux espaces mais mais un tab au lieu de 8 espaces (c'est malheureusement un des rares defaut du code autrement nickel de Qt).
Heureusement, il y a la solution: faire detecter par l'editeur l'indentation utilisee: http://phil.freehackers.org/indent-finder/index.html(...)
> si une fonction / class est longue
Si une fonction est longue, c'est qu'il faut la racourcir. Tu augmentes la lisibilite du code en utilisant des noms explicites, tu le rends plus modulaire. Linus recommande egaglement de ne pas avoir plus de trois niveaux d'indentation et il a raison. Dans ce cas, je compte l'indentqation de la class et de la methode comme nulle.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Gabriel . Évalué à 2.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Nicolas Roard (site web personnel) . Évalué à 7.
man indent
[^] # Re: Ruby 1.8.0 est sorti
Posté par wismerhill . Évalué à 2.
Je fais remarquer aussi que du coup il n'est plus possible d'indenter sans créer un bloc, et qu'en plus python n'accepte pas les blocs inutiles (c'est à dire qui ne suivent pas un if for while def classs ...).
Il m'est déjà arrivé d'indenter quelques lignes de code pour bien les mettre en évidence par rapport au reste (c'était en java, pour créer une UI avec des widget imbriqués, l'indentation mettait en évidence l'imbrication des widget). Avec python c'est pas possible.
[^] # Re: Ruby 1.8.0 est sorti
Posté par manatane . Évalué à 9.
Python est donc plus rapide que Ruby et plus adapté à des projets conséquents.
[^] # Re: Ruby 1.8.0 est sorti
Posté par TSelek . Évalué à 4.
Dire ça c'est un peu comme confondre le langage Java en lui même et la JVM. D'ailleur une vm pour ruby c'est pas nouveau comme idée. Mais là on en est au début et matz voulait d'abord stabiliser le langage. Donc autant on peut apprecier le langage de ruby depuis cette sortie, autant il est urgent d'attendre à propos de perfs.
[^] # Re: Ruby 1.8.0 est sorti
Posté par jmfayard . Évalué à 1.
http://www.perl.com/pub/a/2003/07/16/soto2003.html?page=6(...)
(Extrait du discours sur l'état de l'Oignon par Larry Wall )
[^] # Re: Ruby 1.8.0 est sorti
Posté par TSelek . Évalué à 2.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Tonton Th (Mastodon) . Évalué à 1.
En quoi la "rapidité" est-elle un critère discriminant pour un projet conséquent ?
[^] # Re: Ruby 1.8.0 est sorti
Posté par Elrik de Melnibone . Évalué à 5.
Je connais peu Ruby (pour avoir commencé python, j'ai pas envie de changer :-)
La différence c que Python à l'air beaucoup plus utilisé que Ruby, notamment comme langage de plugin pour de grosses applications.
On va dire que c'est parce qu'il est plus vieux...
En tout cas, je vois pas de raison valable de passer à Ruby si on connait Python, je pense que les 2 langages sont comparables, sauf encore une fois que python est plus utilisé pour l'instant.
[troll] Ruby est-il un effet de mode ? Pour faire un peu rebelle et puriste (100% objet) ? [/troll]
[^] # Re: Ruby 1.8.0 est sorti
Posté par Yusei (Mastodon) . Évalué à 4.
Je crois que c'est surtout parce que Ruby est d''origine japonaise, et que pendant longtemps la doc était en japonais. C'est lorsque des journalistes ont fait le très bon "Programming Ruby" [1] que le langage se répand.
Pour ma part j'ai commencé avec Ruby, et ne connais pas Python, donc j'ai plus ou moi la même position que toi (à l'envers).
[1] http://www.rubycentral.com/book/(...)
[^] # Re: Ruby 1.8.0 est sorti
Posté par matiphas . Évalué à 9.
Le choix s'etait vite porte sur Python, Perl, Ruby.
J'avais vite elimine Perl, malgre beaucoup de points forts (une enorme communeaute) a cause de son code que je trouve un peu 'foutoir'.
Donc en fait l'alternative etait vite devenue Python/Ruby.
Ils partagent de nombreux points communs :
- faiblement types
- tres orientes objets
- plutot 'haut niveau'
- tres elegants
- tres faciles a apprendre
J'ai finalement choisi Python (mais je continue de croire que Ruby est un tres tres bon langage)
- une communeaute un peu plus importante que Ruby.
- des developpements plus aboutis a l'epoque (stabilite du langage, libs...).
- un peu plus rapide que Ruby.
- et surtout une doc plus fournie.
Contrairement a beaucoup, j'ai vecu le cote indentation obligatoire comme un point fort qui oblige a coder propre et qui aide a rendre le code maintenable.
Au final je vois ces deux langages comme a la fois concurrents et complementaires, et dont les communeautes apprennent beaucoup l'une de l'autre.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Yusei (Mastodon) . Évalué à 2.
Donc, vive la concurrence, et vive les trolls...
[^] # Re: Ruby 1.8.0 est sorti
Posté par bmc . Évalué à -2.
[^] # Re: Ruby 1.8.0 est sorti
Posté par jmfayard . Évalué à -2.
[^] # Re: Ruby 1.8.0 est sorti
Posté par bmc . Évalué à 1.
c'est toujours très risqué de critiquer l'orthographe ou la grammaire...
[^] # Re: Ruby 1.8.0 est sorti
Posté par jmfayard . Évalué à -1.
pourtant ma prof de français m'avait traumatisé avec ça, et je comptais me venger mesquinement sur quelqu'un.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Boa Treize (site web personnel) . Évalué à 2.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Frederick Ros . Évalué à 3.
Non, je ne pense pas .. D'abord il n'est pas tout recent, ensuite je pense que quitte a faire de l'objet, autant faire vraiment de l'objet ...
[^] # Re: Ruby 1.8.0 est sorti
Posté par Guillaume Laurent (site web personnel) . Évalué à 6.
Et surtout, Ruby est un langage très agréable à utiliser. C'est l'un des rares langages que je connaisse qui donne envie de coder.
Par contre, les avantages de Python sont une doc plus complèete, et plus de librairies. Il faut que Ruby murisse un peu de ce coté là...
[^] # Re: Ruby 1.8.0 est sorti
Posté par Olivier Grisel (site web personnel) . Évalué à 0.
Connaitre Python est un atout pour bien exploiter les capacités de Zope.
Voila une autre raison d'apprendre python.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Erwan . Évalué à 2.
[^] # Attention, Python aussi évolue...
Posté par lolop (site web personnel) . Évalué à 4.
Dans la dernière version - la 2.3 sortie récemment - et même avec les précédentes, certaines critiques ne sont plus valables (par exemple il y a maintenant un type booléen, les types de base ont été unifiés aux classes (http://www.python.org/2.2.2/descrintro.html(...) ), les itérateurs sont apparus, le support d'Unicode s'est bien amélioré...).
Python a tendance a reprendre ce qui est bon ailleurs (et j'imagines que si la communauté Ruby est efficace, c'est pareil de ce côté). L'auteur principal de Python (Guido Van Rossum) tient un peu le rôle de Linus Torvald pour Linux: sélectionner parmis toutes les propositions d'évolution celles qui sont bonnes.
Un avantage (actuel) de Python c'est sa maturité. Les développeurs en sont maintenant a travailler sur l'efficacité du code (et ils bossent bien). Et les librairies sont de plus en plus nombreuses un peu dans tous les domaines.
Un avantage (mais peut-être Ruby est-il aussi dans ce cas) c'est que Python s'adapte très bien à toutes les tailles de projets, et permet de coder directement le projet final en codant la maquette.
Pour ce qui est de l'indentation, c'est vraiment une question de goût. Personnellement, avec les chaînes de documentation directement dans le code, c'est un aspect que me fait aimer Python.
Maintenant, à choisir... les deux langages semblent assez proches en terme de fonctionnalités et comme c'est gratuit: téléchargez les deux, montez un (petit) projet de test et développez le (faites appel aux communautés des newsgroups et listes de diffusion pour améliorer le code)... et faites votre chois en fonction de vos goûts.
A+
Laurent P.
Pour les évolutions:
http://www.python.org/2.3/highlights.html(...)
http://www.python.org/doc/2.2.1/whatsnew/(...)
http://www.amk.ca/python/2.1/(...)
http://www.amk.ca/python/2.0/(...)
http://www.python.org/1.6/#news(...)
Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN
[^] # Re: Ruby 1.8.0 est sorti (plash dans le troll)
Posté par Tonton Th (Mastodon) . Évalué à 1.
D'un autre coté, je n'ai jamais trop pratiqué Python, ses impératifs de formatage du source m'ont toujours rebutés. Je sais, ce n'est pas une bonne raison... Il faudra que je m'y remette un de ces jours, d'autant plus que je pratique régulièrement le f77, qui réclame lui aussi un formatage précis, donc ça n'est finalement pas une bonne excuse...
En tout cas, je recommande fortement d'essayer Ruby. Dans le tarball, il y a une foultitude d'exemples bien sympathiques, dont la lecture attentive est riche d'enseignements.
Voilà, je retourne dans la piscine...
# Re: Ruby 1.8.0 est sorti
Posté par Arnaud . Évalué à 3.
Sinon, y a-t-il d'autres langages de script avec des GUIs cross-plateforme ?
Et même question pour les accès aux BD ;-)
Merci.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Nicolas Roard (site web personnel) . Évalué à 3.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Philip Marlowe . Évalué à 1.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Nicolas Roard (site web personnel) . Évalué à 3.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Philip Marlowe . Évalué à 1.
[^] # Re: Ruby 1.8.0 est sorti
Posté par N/A . Évalué à 4.
tcl/tk ? (www.tcl.tk)
mais tcl sapu© et tk cépabo©
[^] # Re: Ruby 1.8.0 est sorti
Posté par Christophe Fergeau . Évalué à 2.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Yusei (Mastodon) . Évalué à 2.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Fabimaru (site web personnel) . Évalué à 0.
[^] # Re: Ruby 1.8.0 est sorti
Posté par undeuxtroisout . Évalué à 6.
FOX : http://fxruby.sourceforge.net/(...)
GTK2 : http://ruby-gnome2.sourceforge.jp/(...)
[^] # Re: Ruby 1.8.0 est sorti
Posté par bmc . Évalué à 2.
La page Web: http://ruby-dbi.sourceforge.net/(...)
[^] # Re: Ruby 1.8.0 est sorti
Posté par Olivier Grisel (site web personnel) . Évalué à 2.
wxPython (qui vient de la lib cross-plateforme wxWindows pour C++) utilise les GUI natifs pour chaque systeme:
- GTK (1.x ou 2.x) pour GNU/Linux et autres *BSD
- X11 ou Motif/Lesstif (pabo :-) pour les ceuces qu'on pas GTK
- WIN32 GUI pour Windows (cd 95 a XP en passant par NT et 2000)
- Carbon & Cocoa pour MacOS 9/X
(- y a meme un truc pour OS/2 il me semble)
Y a aussi Python + PyQt mais je connais pas bien.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Julien Portalier . Évalué à 1.
[^] # Re: Ruby 1.8.0 est sorti
Posté par HappyPeng . Évalué à 1.
pygtk.require ('2.0')
PyGTK avec GTK+ 2.x fonctionne sur tous les systèmes sur lesquels et Python et GTK+ 2.x fonctionnent.
WxWindows est à mes yeux beaucoup plus lourd/complexe et apporte peu vu la portabilité de GTK+.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Pascal Terjan (site web personnel) . Évalué à 1.
voir ma NdM
Sinon, y a-t-il d'autres langages de script avec des GUIs cross-plateforme
Perl, PHP, Python, ...
[^] # Re: Ruby 1.8.0 est sorti
Posté par blackshack . Évalué à 1.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Christophe Fergeau . Évalué à 0.
[^] # Re: Ruby 1.8.0 est sorti
Posté par tanguy_k (site web personnel) . Évalué à 1.
Qt est dispo sous licence GPL pour Unix et MacOS X de facon stable.
Reste plus que wxWindows qui est vraiment portable partout (Unix, MacOS X et Windows) sous licence LGPL.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Christophe Fergeau . Évalué à 0.
[^] # Re: Ruby 1.8.0 est sorti
Posté par tanguy_k (site web personnel) . Évalué à 2.
J'ai fait 6 mois de gtk 1.2 en C++ sous Linux et Windows il y a environ 1 an dans une boite a plein temps. Ba sous windows c'etait vraiment pas la joie, il y avait des differences de comportement importantes et puis comme la doc est inexistante. Tu es oblige de bidouiller pour que ca fonctionne de la meme facon sous Linux et Windows. Autant utiliser wxWindows.
Depuis ca a peut etre change, mais bon niveau programmation Qt est de toute facon loin devant gtk ahma et il n'est pas exclus d'avoir une version GPL de Qt sous windows d'ici quelques mois.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Christophe Fergeau . Évalué à 3.
Les developpeurs de gtk eux memes sont surpris que des gens aient réussi à écrire des applis avec, c'est pour dire ;)
Sinon on dit exactement la même chose mais pas de la même façon, c'est un peu contreproductif comme thread :)
[^] # Re: Ruby 1.8.0 est sorti
Posté par HappyPeng . Évalué à 1.
Seule les versions >= 2.0 peuvent être véritablement considérées comme portées sous Windows.
Lorsque l'on juge un logiciel, on évite de juger des versions depuis longtemps obsolètes.
Quand à la prétendue supériorité de Qt elle est certainement dûe (sans vouloir vous offenser) à votre goût trop prononcé pour le C++ *ahem*.
http://inti.sourceforge.net/download.html(...)
(c'est bien pour les amateurs d'Unix-likes et de C++, mais aura-t-on le courage d'extraire le GTK+ et de compiler sous Windows pour les autres ? :-)
[^] # Re: Ruby 1.8.0 est sorti
Posté par Guillaume Laurent (site web personnel) . Évalué à 1.
C'est vrai. Néanmoins, même sans juger des versions obsolètes, on peut dire des anneries. Démonstration par l'exemple :
Quand à la prétendue supériorité de Qt elle est certainement dûe (sans vouloir vous offenser) à votre goût trop prononcé pour le C++ *ahem*.
CQFD (sans vouloir t'offenser).
[^] # Re: Ruby 1.8.0 est sorti
Posté par spart . Évalué à 4.
Ca commence à être propre, même si encore un peu lent.
Comme on se base sur une librairie commune (SmokeQt, qui est une sorte d'interface introspective à la Corba pour Qt), il n'y a plus de problèmes de version. Le Smoke actuel peut être compilé avec Qt 2.3 à 3.2 et est généré automatiquement à partir des en-têtes.
Seule la partie Signal/Slots est susceptible de changer et de nécessiter des ajustements d'une version à l'autre (en gros, pour chaque version majeure).
Donc les bindings Perl et Ruby offrent le même niveau de fonctionnalité: accès complet à tout Qt, surcharge des fonctions virtuelles, signaux/slots illimités et définissables, etc...
# Re: Ruby 1.8.0 est sorti
Posté par itraz . Évalué à 6.
1. Juste pour différencier Python et Ruby, un concept interressant dans Ruby (issu du langage CLU) qu'on ne retrouve pas dans Python : la conception facilitée des itérateurs.
Un simple exemple tiré du livre de référence ("Programming Ruby" déjà cité):
class Array
def find
for i in 0...size
value = self[i]
return value if yield(value)
end
return nil
end
end
[1, 3, 5, 7, 9].find {|v| v*v > 30 } --> donne 7
Au passage, on note la facilité d'extention des classes de bases, et l'utilisation du tout objet.
2. Le débat sur l'indentation dépend AMHA des habitudes de chacun et de l'éditeur utilisé.
Maintenant, le langage choisi n'est qu'une question de contexte et de gout personnel :)
3. Aux GUI FOX et GTK déjà mentionnés, on peut rajouter Tk ( voir http://www.rubygarden.org/ruby?RubyTk(...) ), et l'expérimentation Appolo (sur une base des librairies VCL de Delphi : http://www.moriq.com/apollo/index-en.html(...) ). Maintenant allez farfouiller du côté de RAA pour en trouver beaucoup d'autres : http://raa.ruby-lang.org/cat.rhtml?category_major=Library;category_(...) .
4. Deux nouveaux livres sur Ruby devraient sortir en fin d'année (en anglais ...) : "Game Programming With Python, Lua, and Ruby" et surtout "Code generation in action" ( http://www.codegeneration.net/(...) ) traitant de la métaprogrammation en basant ses exemples sur Ruby.
5. Désolé enfin pour les url non cliquables ... (c'était ma première brève sur DLFP :) ).
[^] # Re: Ruby 1.8.0 est sorti
Posté par TazForEver . Évalué à 3.
2) absolument d'accord
[^] # Re: Ruby 1.8.0 est sorti
Posté par TSelek . Évalué à 1.
autre concept commun : introspection
ça dépasse ruby/python tout ça
[^] # Re: Ruby 1.8.0 est sorti
Posté par Nicolas Roard (site web personnel) . Évalué à 4.
Et GNUstep ... le binding ruby est d'ailleurs assez original si je me souviens, car tirant partie des particularités de ruby et d'objective-c (à savoir l'instrospection). Du coup, le binding est toujours à jour en fait ... il "découvre" tout seul les classes au besoin :
One of the most interesting feature of RIGS is that it is 100%
dynamic. It means that RIGS maps Ruby object/methods to GNUstep and
vice/versa entirely on the fly when running the Ruby script. As a
consequence there is no need to generate any kind of wrapping code to
use either existing GNUstep classes or even new ones that you have
developped by yourself. Simply compile your new classes in a shared
library and then do a simple:
cool, non ?
[^] # Re: Ruby 1.8.0 est sorti
Posté par Nicolas Roard (site web personnel) . Évalué à 1.
require('MyNewClass') # load your extra ObjC shared library
Rigs.import("MyNewClass") # dynamically import the class in Ruby
and you are in business! Cool, hey.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Laurent Sansonetti . Évalué à 2.
Tout ceci graçe à Ruby/GLib ;-)
[^] # Re: Ruby 1.8.0 est sorti
Posté par HappyPeng . Évalué à 1.
[^] # Re: Ruby 1.8.0 est sorti
Posté par Nicolas Roard (site web personnel) . Évalué à 1.
Pour ceux qui ne connaissent pas, StepTalk permet d'inclure ultra-simplement dans une application un moteur de script (avec AppTalk), en indiquant quels sont les objets de l'appli qui peuvent être accédés. Vraiment cool.
Mais StepTalk est plus que ça, en fait il permet d'accèder très simplement à des objets qui ne sont pas forcément dans l'appli (objets répartis, ou objets d'une autre application). L'idée c'est que StepTalk soit une sorte de "glue" entre des objets et applications -- l'utilisateur ne travaillerait pas avec des "applications" en tête, mais en utilisant les objets disponibles, ou qu'ils soient. Donc c'est plus une sorte de VBScript ou AppleScript, dopé aux stéroïdes.
Théoriquement, il est langage-indépendant (les langages de scripts sont dans des bundles), mais pour le moment il n'y a que deux langages supportés : SmallTalk (héhé... forcément! :-) et Guile. Un bundle ruby serait bien cool !
Plus d'infos :
http://steptalk.host.sk/(...)
# Tutoriel Ruby
Posté par Laurent Sansonetti . Évalué à 6.
Le tutoriel "Apprenez Ruby" est disponible sur ruby-doc: http://www.ruby-doc.org/docs/beginner-fr/xhtml/index.html(...) .
Le lien actuel pointe sur une machine cable, ca doit lagger un peu ;-)
Si un modérateur passe, saurait-il faire le changement?
(et également virer le premier jet sur le thread gentoo, je m'ai trompé ;-)
--
lrz
[^] # Re: Tutoriel Ruby
Posté par bmc . Évalué à 1.
[^] # Re: Tutoriel Ruby
Posté par Laurent Sansonetti . Évalué à 4.
Tant que j'y suis, nous allons traduire le hiki de Ruby-GNOME2 dans le courant de la semaine prochaine, et nous recherchons des volontaires. Contactez-moi si vous êtes intéressé ;-)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.