2020年9月25日、Ruby 3.0.0-preview1 がリリースされた。
インストール
$ brew upgrade rbenv ruby-build $ rbenv install --list-all | grep 3.0.0 3.0.0-dev 3.0.0-preview1 #インストール $ rbenv install 3.0.0-preview1 #適当なディレクトリを作成 $ mkdir ruby-3-sample $ cd ruby-3-sample/ #切り替え $ rbenv local 3.0.0-preview1 $ ruby -v ruby 3.0.0preview1 (2020-09-25 master 0096d2b895) [x86_64-darwin18]
New Features
Ractor
並列・並行処理のための新機能「Ractor」が導入されている。
Ractor.new do 5.times do puts "日本語" end end 5.times do puts "English" end
実行
English English English English 日本語 English 日本語 日本語 日本語 日本語
実行するたびに結果は変わる。
その他
end
を書かないメソッド定義
def square(x) = x * x p square(5) #=> 25
Hash#except
で指定したハッシュのキー以外を取り出せる。
h = { a: 'チョイボンゲ', b: 'キムカッファン', c: '二階堂紅丸' } p h.except(:a) #=> {:b=>"キムカッファン", :c=>"二階堂紅丸"}
メソッド(引数) => 変数
で変数に値を代入できる。
def square(x) = x * x square(10) => x p x #=> 100
(でもなんのメリットがあるんだろうか…)
感想
そもそもRubyをまだまともに扱えていないけど・・・、やっぱりこういった新しいものを試すのは楽しい。