Python je ne connais pas, mais Ruby a selon moi l'avantage d'être très intuitif. En général, il fonctionne comme je pense qu'il devrait fonctionner. C'est dû en partie à l'usage intensif d'intérateurs, aux noms de méthodes clairs (les méthodes renvoyant un booleen se terminent par ?, par exemple).
Quelques exemples:
a = [ 1, 2, 3, 4, 5 ]
a.each { |element|
puts element
}
f = File.new('toto', 'r')
f.each { |ligne|
puts ligne
}
h = [ 'clé1' => 'objet1', 'clé2' => 'objet2' ]
h.each_key { |cle|
puts cle
}
h.each_value { |val|
puts val
}
Histoire de dire que tous les objets fonctionnent plus ou moins de la meme manière, très logiquement.
On a aussi des méthodes aux noms très explicites:
i = 12
if i.between?(5, 20)
print "i est compris entre 5 et 20\n"
else
print "i n'est pas compris entre 5 et 20\n"
end
Ainsi que la possibilité de définir des méthodes permettant d'accéder facilement aux attributs d'un objet:
class Toto
def get_attr1
return @attr1
end
def set_attr1 (new_value)
if (tests de validité de new_value)
@attr = new_value
end
end
end
t = Toto.new
t.set_attr1 blabla
puts t.get_attr1
Peut être avantageusement remplacé par les méthodes suivantes:
class Toto
def attr1
return @attr1
end
def attr1=(new_value)
if (tests de validité de new_value)
@attr = new_value
end
end
end
t = Toto.new
t.attr1 = blabla
puts t.attr1
Qui permettent d'accéder à attr1 à travers les méthodes d'accès, comme si c'était un simple attribut.
Ruby dispose encore de plein d'autres outils pour rendre le code simple et clair, bref, un bon choix si tu cherches un langage puissant et elegant.
[^] # Re: Perl en ligne de commande
Posté par Yusei (Mastodon) . En réponse à la dépêche Perl en ligne de commande. Évalué à 5.