Référence rapide

Aide-mémoire fonctionnalités Ruby 2.1

Un guide de référence historique pour les fonctionnalités phares de Ruby 2.1 : arguments nommés obligatoires, def retournant des symboles et littéraux.

· Publié le

Ruby 2.1 a introduit des améliorations syntaxiques marquantes, notamment les arguments nommés obligatoires et le retour de symboles par def.

Arguments nommés obligatoires (Keyword Arguments)

Les arguments nommés sans valeur par défaut deviennent strictement obligatoires :

# length est obligatoire ; char a la valeur par défaut '0'
def pad(number, length:, char: "0")
  number.to_s.rjust(length, char)
end

pad(42, length: 6) # => "000042"
pad(42)            # ArgumentError: missing keyword: :length

Les définitions de méthodes retournent des symboles

Dans Ruby 2.1+, def retourne le nom de la méthode sous forme de Symbole, autorisant les modificateurs en ligne :

class User
  # Rendre privé en ligne
  private def secret_token
    "secret"
  end

  # Chaîner avec des décorateurs de modules
  memoize def expensive_computation
    sleep 2
    42
  end
end

Améliorations numériques et littérales

# Suffixe littéral pour rationnels 'r'
2/3r # => (2/3)

# Suffixe littéral pour complexes 'i'
3 + 4i # => (3+4i)

# Optimisation de gel de chaînes : 'freeze'
"constant_string".freeze

Références

Sujets associés