Articles of ruby

Pourquoi utiliser Ruby au lieu de Smalltalk?

Ruby devient populaire , en grande partie grâce à l’influence de Ruby on Rails, mais on a l’impression qu’il traverse actuellement son adolescence. Il y a beaucoup de similitudes entre Ruby et Smalltalk – maglev en témoigne. Malgré une syntaxe plus inhabituelle, Smalltalk a tout (sinon plus) de la beauté orientée object de Ruby. D’après […]

Convertir à / de DateTime et Heure en Ruby

Comment convertissez-vous entre un object DateTime et un object Time dans Ruby?

Pourquoi Ruby a-t-il des méthodes à la fois privées et protégées?

Avant de lire cet article , je pensais que le contrôle d’access dans Ruby fonctionnait comme ceci: public – accessible par n’importe quel object (par exemple, Obj.new.public_method ) protected – accessible uniquement à partir de l’object lui-même, ainsi que des sous-classes private – même chose que protégée, mais la méthode n’existe pas dans les sous-classes […]

Interpoler une chaîne dans une expression régulière

J’ai besoin de substituer la valeur d’une chaîne dans mon expression régulière en Ruby. Y a-t-il un moyen facile de faire ceci? Par exemple: foo = “0.0.0.0” goo = “here is some other stuff 0.0.0.0” if goo =~ /value of foo here dynamically/ puts “success!” end

Déterminer si une variable est à scope?

J’ai besoin d’écrire une boucle qui fait quelque chose comme: if i (1..10) do thing 1 elsif i (11..20) do thing 2 elsif i (21..30) do thing 3 etc… Mais jusqu’ici, les chemins de la syntaxe ont été mal orientés.

Où définir des types d’erreur personnalisés dans Ruby et / ou Rails?

Existe-t-il une meilleure pratique pour définir des types d’erreur personnalisés dans une bibliothèque Ruby (gem) ou une application Ruby on Rails? Plus précisément: Où appartiennent-ils structurellement dans le projet? Un fichier séparé, en ligne avec la définition du module / classe correspondant, quelque part ailleurs? Existe-t-il des conventions établissant quand et quand ne pas créer […]

EOFError: la fin du fichier a rencontré un problème avec Net :: HTTP

J’utilise ruby-1.8.7-p302 / Rails 2.3.11. J’essaie d’utiliser fql (facebook api) pour obtenir des statistiques pour un lien. Voici mon code: def stats(fb_post_url) url = BASE_URI + “?query=#{URI.encode(“select like_count from link_stat where url=\”#{fb_post_url}\””)}” parsed_url = URI.parse(url) http = Net::HTTP.new(parsed_url.host, parsed_url.port) request = Net::HTTP::Get.new(parsed_url.request_uri) response = http.request(request) response.inspect end et voici l’erreur: EOFError: end of file reached […]

Quelle est la meilleure façon de tester les méthodes protégées et privées dans Ruby?

Quelle est la meilleure façon de tester les méthodes protégées et privées dans Ruby, en utilisant le framework Ruby Test::Unit standard? Je suis sûr que quelqu’un va se plaindre et affirmer de manière dogmatique que «vous ne devriez tester que les méthodes publiques; si vous avez besoin de tests unitaires, cela ne devrait pas être […]

Comment est-ce que Ruby peut imprimer une trace complète au lieu d’une trace tronquée?

Lorsque j’obtiens des exceptions, cela provient souvent de la stack d’appels. Lorsque cela se produit, le plus souvent, la ligne de code incriminée est masquée: tmp.rb:7:in `t’: undefined method `bar’ for nil:NilClass (NoMethodError) from tmp.rb:10:in `s’ from tmp.rb:13:in `r’ from tmp.rb:16:in `q’ from tmp.rb:19:in `p’ from tmp.rb:22:in `o’ from tmp.rb:25:in `n’ from tmp.rb:28:in `m’ from […]

Quel est l’équivalent Ruby de Python `s = ‘hello,% s. Où est% s? ”% (“ John ”,“ Mary ”)`

En Python, cet idiome pour le formatage de chaînes est assez courant s = “hello, %s. Where is %s?” % (“John”,”Mary”) Quel est l’équivalent en Ruby?