2020-09-01から1ヶ月間の記事一覧
BasicObject を使いたいことがあるんですね — ima1zumi (@ima1zumi) September 24, 2020 Twitter 上で BasicObject についてやり取りしている流れで『BasicObject を使うことってあるんですか?』みたいな質問があったので簡単に BasicObject + #method_miss…
Ruby 3.0.0 preview1 がリリースされました。めでたい。 Ruby 3.0.0 Preview 1 Released NEWS 気になる機能はあとでまとめるとして NEWS には載ってなかった変更点をちょっと書きます。 ただし、この変更は Ruby 2.7.2 で取り込まれる予定なので Ruby 3.0.0 …
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 先週のまとめ [Feature #16828] Introduce find patterns Ruby 3.0 ではパターンマッチに以下のようなサポートを追加する # 前方に * を使ったパター…
簡単にやってみた。 $stdout.sync = true puts "かいし!!!" data = (1..10).to_a.shuffle pp data ractors = data.map { |i| Ractor.new(i) { |it| # バッファリングを無効化 $stdout.sync = true sleep it / 5.0 puts it } } # 待ち処理 ractors.map(&:t…
最近、ハマっている人が何人書いたのでちょっとまとめてみます。 Ruby のメソッド呼び出し Ruby ではメソッドを呼び出す場合に他の言語と比較して『() を省略してメソッドを呼び出す事』ができます。 def hoge(a = nil) "#hoge(#{a})" end # 括弧がなくても…
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 先週のまとめ [Feature #17171] Why is the visibility of constants not affected by private? 次のように Module#private に引数を渡さなかった場…
自身の親メソッドを呼ぶ 自身と同じ名前の親メソッドを呼ぶ場合は super が利用できます。 def value "Super#value" end end class Sub < Super def value # Super#value を呼ぶ super end end p Sub.new.value # => "Super#value" では、異なるメソッドから…
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 先週のまとめ [Bug #15412] OpenStruct error when attribute is called 'method' OpenStruct は次のように要素にアクセスする事ができる require "o…
RubyKaigi Takeout 2020 お疲れ様でした。 今回はオンラインということではじめて参加したんですが興味深い内容の話があって楽しかったです。 特に sawanobori からのサンダル紹介、焚き火で飯を炊いて魚を焼くコミッタの日常配信はニューノーマルを感じまし…
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 先週のまとめ Version number bumped to 3.0.0 from 2.8.0 (tentative) 開発版の Ruby が 2.8 から 3.0 になった、めでたい これでほぼほぼ 3.0 がリ…
今日の RubyKaigi Takeout 2020 の Ruby Committers vs the World でチラッと話が出たのでちょっとまとめでみました。 該当チケット:Bug #9573: descendants of a module don't gain its future ancestors, but descendants of a class, do - Ruby master -…