- https://www.ruby-lang.org/ja/news/2019/11/23/ruby-2-7-0-preview3-released/
- https://tmtms.hatenablog.com/
- これをアプリプログラマが直接使うことはあんまなさそう
- 多分 GC 中は全部の処理が止まるんだろう。昔の JVM でそういうのがあった (stop the world)
- バッチ処理とかでは有用なのかなあ
- unicorn だと有用なのかなあ
- API サーバーで便利そう
- Array を返すような deconstruct メソッドを定義しておくと、そのクラスを case に食わせられる
- else を書かない場合、マッチしないと Error が発生する
- warning は出るけど、「どんどん production で使ってフィードバックがほしい」的な感じらしい
- よほどのことがなければ 3.0 では warning が外れるはず
- べんり
- binding.irb の時代がきそう
- readline のインストールが不要になるので、ruby のインストールで躓くというのも減りそう
- キーワード引数を渡してるのか、最後の引数としてハッシュを渡してるのか、を明示しないといけない
- ruby 3.0 での廃止に向けて warning を出すようにした
- 自分の書いたコードならまだしも、依存してる gem で発生したりすると厄介
- 難しい
- 名前重要とか言ってるのにどうなの?
_1
が現状 valid な変数名なのがなおのことタチが悪い- 一度でも
_1
に代入するとただのローカル変数になる... @1
なら invalid だった
- 一度でも
- スクリプト言語としての文脈なら意外とアリなのでは?
- 「年収条件 : 上限なし」みたいなのをコードとして表現できるようになっていいね
- nil..nil で両方省略ができる
- 名前がかっこいい
- 「正の字」の英語版
- 単に対称性のため
- 宗教上の理由で self をつけたい人向け
- なぜかドキュメントに書かれてない
*args
だと block が取れないけど、こっちだと全部渡せる- メソッドの引数自体も
(...)
じゃないといけない(普通に引数をとりつつ(...)
で渡す、は無理)- 微妙に使い勝手悪い
foo
# ここに
.bar
# コメントが
.baz
# 書ける!
- くしくも、python と同じように 2.7 -> 3.0 に大ジャンプがある
- python は 2 と 3 でコミュニティの断絶が起きて大変そうだったので、 preview のうちに試してフィードバックしよう!