Wydany całkiem niedawno Ruby 2.6 przynosi kilka udogodnień, którym warto się przyjrzeć. Co nowego? Spróbujmy!
1. Niekończące się zakresy
Ruby 2.6 wprowadza nieskończone zakresy, co sprawia, że wyrażenia takie jak:
możliwe.
2. Tablica
Ruby 2.6 udostępnia nowe metody i aliasy dla klasy Array. Tj:
- Array#difference - działa jak operator "I", ale akceptuje wiele argumentów.
- Array#union - działa jak operator "&", ale akceptuje wiele argumentów.
- Array#filter - nowy alias dla Array#select.
3. Hash
Hash#merge i Hash#merge! akceptuje teraz wiele argumentów. Nie więcej kod jak: hash1.merge(hash2).merge(hash3)!
4. Kernel#then
Ruby 2.6 udostępnia metodę Kernel#thenktóry jest aliasem do Kernel#yield_self, pozwalając nam łączyć operacje w potoki i czyniąc kod bardziej czytelnym.
5. Nowy sposób tworzenia skrótu z tablicy
Ruby 2.6 zapewnia Enumerable#to_h która akceptuje blok i mapuje klucze na wartości!
Przypomnijmy pokrótce, jak musieliśmy radzić sobie z tworzeniem hasha z tablicy przed Ruby 2.6:
Od teraz można to zrobić po prostu w ten sposób:
Jakie to fajne!
6. Proc#compose - odrobina magii Ruby czy tylko nieczytelny bałagan?
Od wersji Ruby 2.6 Proc#>> i Proc#<< umożliwiając nam połączenie dwóch funkcji. Spójrzmy na to:
W przypadku operacji #>> liczba najpierw trafia do funkcji potęgowania, a następnie minus_two jest wykonywane na wyniku pierwszego wywołania funkcji. Chociaż wydaje się to użyteczne i daje nam odrobinę magii, za którą wszyscy kochamy Rubiego, niektórzy twierdzą, że kod napisany w ten sposób staje się po prostu nieczytelnym bałaganem.
Są to moim zdaniem najciekawsze udogodnienia, jakie oferuje nam Ruby 2.6. Gorąco polecam rzucić okiem na oficjalne dziennik zmian też.
Czytaj także:
- Pisanie dokumentacji stało się łatwe dzięki VuePress
- Bezpieczeństwo w pakietach Javascript
- Samouczek dotyczący podstaw Vue.js. Jak zacząć pracę z tym frameworkiem?