Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
ruby:les_bases [2013/12/26 11:50] djiko |
ruby:les_bases [2016/10/17 13:56] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Ruby : les bases ====== | ====== Ruby : les bases ====== | ||
- | ===== Array ===== | + | Tout ce qui concerne spécifiquement le [[rails:start|Framework Rails]] |
- | ==== créer un tableau ==== | + | |
- | * 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 | + | |
- | * 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 | + | |
- | ==== trier un tableau ==== | + | ===== Les tableaux ===== |
- | * 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:arrays|tableaux]] |
- | + | ===== Les dictionnaires ===== | |
- | ==== Accéder aux éléments ==== | + | Voir la page consacrée aux [[ruby:hash|dictionnaires]] |
- | * tab[index] : accède à l'élément index de l'array tab | + | |
- | * tab[-index] : accède à l'élément -index de l'array tab. Les éléments négatifs sont comptés depuis le dernier élément du tableau, à partir de 1. | + | |
- | * tab[début, nombre] : renvoie nombre d'éléments du tableau tab, à partir de la position début exclue | + | |
- | * tab[range(début)..range(fin)] : renvoie les éléments de tab situés entre range(début) et range(fin) inclus. | + | |
- | * tab#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 tab 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 : | * 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 : | ||
Ligne 56: | Ligne 51: | ||
===== String ===== | ===== String ===== | ||
- | * String#sub('X', 'Y') : remplace la première occurrence de X par Y | + | Voir la page consacrée aux [[ruby:strings|Strings]] |
- | * 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 | + | |
- | * String#upcase ([[http://www.ruby-doc.org/core-2.0/String.html#method-i-upcase|doc]]) : passe String en majuscule | + | |
- | * String.split ([[http://ruby-doc.org/core-2.0/String.html#method-i-split|doc]]) : retourne un tableau de substrings selon le pattern passé en paramètre | + | |
- | * String.scan {|RESULT| BLOCK} ([[http://ruby-doc.org/core-2.0/String.html#method-i-scan|doc]]) : scanne String selon le pattern passé en paramètre et, soit ajoute le résultat du scan au tableau renvoyé, soit exécute le block sur le résultat. | + |