Η Ruby 2.1 εισήγαγε συντακτικές βελτιώσεις ορόσημο στη γλώσσα, όπως τα υποχρεωτικά keyword arguments και την επιστροφή συμβόλων από το def.
Υποχρεωτικά Keyword Arguments
Τα ορίσματα λέξεων-κλειδιών χωρίς προεπιλεγμένη τιμή καθίστανται αυστηρά υποχρεωτικά:
# το length είναι υποχρεωτικό, το char έχει προεπιλογή '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
Οι ορισμοί μεθόδων επιστρέφουν σύμβολα (Symbols)
Στη Ruby 2.1+, το def επιστρέφει το όνομα της μεθόδου ως Symbol, επιτρέποντας inline τροποποιητές:
class User
# Ορισμός private στην ίδια γραμμή
private def secret_token
"secret"
end
# Σύνδεση με διακοσμητές μονάδων (decorators)
memoize def expensive_computation
sleep 2
42
end
end
Αριθμητικές βελτιώσεις και Literals
# Επίθημα ρητών αριθμών 'r'
2/3r # => (2/3)
# Επίθημα μιγαδικών αριθμών 'i'
3 + 4i # => (3+4i)
# Βελτιστοποίηση παγώματος συμβολοσειρών: 'freeze'
"constant_string".freeze