Outils pour utilisateurs

Outils du site


ruby:les_bases

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ruby:les_bases [2013/08/23 16:43]
djiko
ruby:les_bases [2016/10/17 13:56] (Version actuelle)
Ligne 1: Ligne 1:
 ====== Ruby : les bases ====== ====== Ruby : les bases ======
  
-===== String : les chaînes de caractères ===== +Tout ce qui concerne spécifiquement le [[rails:start|Framework Rails]]
-  * String#​sub('​X',​ '​Y'​) : remplace la première occurrence de X par Y +
-  * String#​gsub('​X',​ '​Y'​) : remplace toute les occurrences de X par Y +
-  * String#​split(arg) ([[http://​www.ruby-doc.org/​core-2.0/​String.html#​method-i-split|doc]]) : renvoie un tableau contenant les éléments de String séparés par arg +
-  * String#​downcase ([[http://​www.ruby-doc.org/​core-2.0/​String.html#​method-i-downcase|doc]]) : passe String en minuscule +
-   +
-===== La classe Object ===== +
-  * Object#​is_a?​(Class) : renvoie true si Object est de type Class+
  
-===== Array : les tableaux ===== +===== Les tableaux ===== 
-  * Array#​map{|item| block} ([[http://ruby-doc.org/​core-2.0/​Array.html#​method-i-map|documentation]]) : crée un nouveau tableau en exécutant le block sur chaque élément de Array +Voir la page consacrée aux [[ruby:arrays|tableaux]] 
-  * Array#​select{|item| block} ([[http://​ruby-doc.org/​core-2.0/​Array.html#​method-i-select|documentation]]) : crée un nouveau tableau en filtrant les éléments de Array sur la base du block +===== Les dictionnaires ===== 
-  * Array#sort {|itemX, itemY| block} ([[http://www.ruby-doc.org/​core-1.9.3/​Array.html#​method-i-sort|doc]]) ​tri un tableau en comparant les éléments un à un (itemX / itemY) puis en exécutant block +Voir la page consacrée aux [[ruby:hash|dictionnaires]]
-  * Array#​join(SEP) ([[http://​www.ruby-doc.org/​core-1.9.3/​Array.html#​method-i-join|doc]]) : renvoie un objet String contenant les éléments de Array séparés par SEP+
  
 +===== Range =====
 +  * x..y : crée un range de x à y
 +  * (x..y).to_a : crée un tableau contenant les éléments de x à y
 ===== Énumérations ===== ===== Énumérations =====
 +  * Enumerable#​inject(ARG) {|RESULT, ITEM| BLOCK} (doc) :exécute BLOCK sur chaque élément ITEM de la collection, en passant le résultat d'une exécution à l'​exécution suivante. Exemple :
 +Si l'on considère que menu est un [[http://​www.ruby-doc.org/​core-1.9.3/​Hash.html|Hash]],​ la méthode Restaurant#​cost  ​
 +<code ruby>
 +class Restaurant
 +  def initialize(menu)
 +    @menu = menu
 +  end
 +
 +  def cost(*orders)
 +    # parcourt orders pour calculer total_cost
 +    orders.inject(0) do |total_cost,​ order|
 +      # pour chaque key d'un order, on ajoute order[key] * menu[key] à cost
 +      total_cost + order.keys.inject(0) {|cost, key| cost + @menu[key]*order[key] }
 +    end
 +  end
 +end
 +</​code>​
   * Enumerable#​all?​ {|item| BLOCK} ([[http://​ruby-doc.org/​core-2.0/​Enumerable.html#​method-i-all-3F|doc]]) : renvoie true si tous les éléments de la collection vérifient BLOCK. Si BLOCK n'est pas précisé, renvoie true si aucun élément de la collection n'est false ou nil    * Enumerable#​all?​ {|item| BLOCK} ([[http://​ruby-doc.org/​core-2.0/​Enumerable.html#​method-i-all-3F|doc]]) : renvoie true si tous les éléments de la collection vérifient BLOCK. Si BLOCK n'est pas précisé, renvoie true si aucun élément de la collection n'est false ou nil 
   * Enumerable#​find_all {} ([[http://​ruby-doc.org/​core-2.0/​Enumerable.html#​method-i-find_all|doc]]) : renvoie une nouvelle collection constituée des éléments de la collection appellante répondant à la condition BLOCK. Exemple sur un tableau values   * Enumerable#​find_all {} ([[http://​ruby-doc.org/​core-2.0/​Enumerable.html#​method-i-find_all|doc]]) : renvoie une nouvelle collection constituée des éléments de la collection appellante répondant à la condition BLOCK. Exemple sur un tableau values
Ligne 34: Ligne 46:
 end end
 </​code>​ </​code>​
 +
 +===== Object =====
 +  * Object#​is_a?​(Class) : renvoie true si Object est de type Class
 +
 +===== String =====
 +Voir la page consacrée aux [[ruby:​strings|Strings]]
ruby/les_bases.1377269024.txt.gz · Dernière modification: 2016/10/17 13:55 (modification externe)