Szybka pomoc

Ściągawka z nowości w Ruby 2.1

Przewodnik po najważniejszych funkcjach wprowadzonych w Ruby 2.1: wymagane argumenty nazwane, zwracanie symboli przez def i literały liczbowe.

· Opublikowano

Ruby 2.1 wprowadziło przełomowe usprawnienia składniowe, w tym wymagane argumenty nazwane (keyword arguments) oraz zwracanie symbolu nazwy metody przez def.

Wymagane argumenty nazwane (Keyword Arguments)

Argumenty kluczowe bez wartości domyślnej stają się bezwzględnie wymagane:

# length jest wymagane; char ma wartość domyślną '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

Definicje metod zwracają symbole

W Ruby 2.1+ instrukcja def zwraca nazwę metody jako Symbol, co umożliwia modyfikatory w tej samej linii:

class User
  # Zmiana na private w linii definicji
  private def secret_token
    "secret"
  end

  # Łączenie z dekoratorami modułów
  memoize def expensive_computation
    sleep 2
    42
  end
end

Usprawnienia liczb i literałów

# Przyrostek literału ułamkowego 'r'
2/3r # => (2/3)

# Przyrostek liczby zespolonej 'i'
3 + 4i # => (3+4i)

# Optymalizacja zamrażania ciągów znaków: 'freeze'
"constant_string".freeze

Materiały referencyjne

Powiązane tematy