Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision
|
Révision précédente
|
langages:ruby:aide-memoire [08/12/2014 16:28] 127.0.0.1 modification externe |
langages:ruby:aide-memoire [17/12/2016 16:39] (Version actuelle) julp |
end | end |
</code> | </code> |
| |
| |
| ===== Récapitulatif des "modificateurs" ===== |
| |
| Soit ''foo = 'bar'' : |
| |
| ^ Lettre ^ Exemple ^ Signification ^ |
| | ''%q(...)'' | ''%q[abc #{foo}]'' donne ''%%'abc #{foo}'%%'' | Equivaut à une chaîne délimitée par des quotes simples (pas d'interpolation et les séquences d'échappement comme ''\n'' restent littérales) | |
| | ''%Q(...)'' ou ''%(...)'' | ''%<abc #{foo}>'' donne ''%%'abc bar'%%'' | Equivaut à une chaîne délimitée par des quotes doubles (il y a interpolation et substitution des séquences d'échappement) | |
| | ''%w(...)'' | ''%w[abc #{foo}]'' donne ''[ 'abc', '#{foo}' ]'' | Un tableau de chaînes correspondant aux "mots", sans aucune substitution | |
| | ''%W(...)'' | ''%W[abc #{foo}]'' donne ''[ 'abc', 'bar' ]'' | Un tableau de chaînes correspondant aux "mots", après éventuelles substitutions | |
| | ''%i(...)'' | ''%i[abc #{foo}]'' donne ''[ :abc, :'#{foo}' ]'' | Un tableau de symboles correspondant aux "mots", sans aucune substitution | |
| | ''%I(...)'' | ''%I[abc #{foo}]'' donne ''[ :abc, :bar ]'' | Un tableau de symboles correspondant aux "mots", après éventuelles substitutions | |
| | ''%x(...)'' | ''%x<echo -n #{foo}>'' donne (sur un système Unixoïde) ''bar'' | Exécute la commande système, après éventuelles substitutions | |
| | ''%r(...)'' | ''%r@a/b@i'' équivaut à ''%%/a\\/b/i%%'' | Une autre forme pour définir une expression régulière, pratique quand le slash peut figurer dans le motif et ainsi éviter d'avoir à l'échapper | |
| | ''%s(...)'' | ''%s<abc #{foo}>'' donne '':'abc #{foo}''' | Une autre forme pour écrire un symbole qui ne serait pas directement valide. Aucune substitution n'a lieu avec ce "modificateur" | |
| |
| |
| ===== Les blocs ===== |
| |
| Mettre prématurément fin à un bloc : ''next''. Exemple, ne garder que les nombres impairs en excluant 5 : |
| <code ruby>1.upto(10).reject do |n| |
| next true if 5 == n |
| n.even? |
| end</code> |
| |