Riferimento rapido

Guida rapida alle funzionalità di Ruby 2.1

Guida di riferimento storica per le novità introdotte in Ruby 2.1: keyword argument obbligatori, def che restituisce simboli e valori letterali.

· Pubblicato

Ruby 2.1 ha introdotto importanti miglioramenti sintattici, tra cui i keyword argument obbligatori e il fatto che def restituisce simboli.

Keyword Argument Obbligatori

I parametri con parola chiave senza valore predefinito diventano strettamente obbligatori:

# length è obbligatorio; char è opzionale con default '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

Le definizioni di metodo restituiscono simboli

In Ruby 2.1+, def restituisce il nome del metodo come Symbol, permettendo modificatori inline:

class User
  # Rende privato inline
  private def secret_token
    "secret"
  end

  # Concatenamento con decoratori di modulo
  memoize def expensive_computation
    sleep 2
    42
  end
end

Miglioramenti numerici e letterali

# Suffisso letterale per numeri razionali 'r'
2/3r # => (2/3)

# Suffisso letterale per numeri complessi 'i'
3 + 4i # => (3+4i)

# Ottimizzazione del congelamento delle stringhe: 'freeze'
"constant_string".freeze

Riferimenti

Argomenti correlati