Kurzreferenz

Ruby 2.1 Features Spickzettel

Ein historischer Leitfaden für wegweisende Features in Ruby 2.1: erforderliche Schlüsselwort-Argumente, def Rückgabesymbole und Literale.

· Veröffentlicht

Ruby 2.1 führte bahnbrechende Syntaxverbesserungen ein, darunter erforderliche Keyword-Argumente und die Rückgabe von Methodennamen als Symbol bei def.

Erforderliche Keyword-Argumente

Schlüsselwort-Argumente ohne Standardwert werden strikt erforderlich:

# length ist erforderlich; char hat den Standardwert '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

Methodendefinitionen geben Symbole zurück

In Ruby 2.1+ gibt def den Methodennamen als Symbol zurück, was Inline-Modifikatoren ermöglicht:

class User
  # Inline als private deklarieren
  private def secret_token
    "secret"
  end

  # Mit Modul-Dekoratoren verketten
  memoize def expensive_computation
    sleep 2
    42
  end
end

Numerische & Literal-Verbesserungen

# Rational-Literal-Suffix 'r'
2/3r # => (2/3)

# Complex-Literal-Suffix 'i'
3 + 4i # => (3+4i)

# Optimierung durch Einfrieren von Strings: 'freeze'
"constant_string".freeze

Referenzen

Verwandte Themen