Ruby 2.5.0 kararlı olmayan sürümü 10 Ekim 2017’de yayınlandı. Bu yeni sürüm içinde bolca yeni özellik ve performans iyileştirmeleri mevcut. Bu yeni özelliklerden 7 tanesini listeledim.

  1.  bundler gemi artık standart kütüphanede. Artık gem install bundler ile bundlerı yüklememize gerek yok.
  2. Kernel#yield_self
    yield_self bloğu eklendi.

     
  3. Array#prepend/append 
    Arraylere unshift/push methodlarına alias olarak prepend ve append eklendi.

     
  4. Dir.children ve each_child
    Dizin içindeki dizin ve dosyaları listelemek için şöyle bir yol izliyorduk.

    Bunun yerine “.” ve “.. ” dizinleri gözardı etmek için artık Dir.children kullanabiliriz.

    Dir.each_child enumarator geri döndürür array değil. .to_a ile array yapabiliriz.

     
  5. String#delete_prefix/delete_suffix
    String sınıfına delete_prefix ve delete_suffix methodları eklendi. Bir stringin başından ve sonundan belirtilen karakterleri silebilir.

     
  6. rescue/else/ensure artık do/end blokları içinde kullanılabilir.
    rescue/else/ensure artık do/end blokları içinde begin ve end olmaksızın kullanılabilecek

    Eğer { } kullanırsanız hata alırsınız.
  7. Hash#transform_keys/transform_keys!
    transform_keys bloğunu hash ile kullanarak hash keyleri üzerinde değişiklik yapabilirsiniz.

    transform_keys! ise ünlemden anlaşılacağı gibi hashin kendisini değiştiriyor 🙂

Diğer tüm değişiklikleri şuradan görebilirsiniz: News for Ruby 2.5.0