Just do IT

思うは招く

Ruby 3.0.0-preview1 を触ってみた

2020年9月25日、Ruby 3.0.0-preview1 がリリースされた。

Ruby 3.0.0 Preview 1 Released

インストール

$ 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をまだまともに扱えていないけど・・・、やっぱりこういった新しいものを試すのは楽しい。

参考