2020-06-01から1ヶ月間の記事一覧

Ruby で 1 == true を行うと何が起きるのか

元ネタ Ruby の true と false がわかってない, いつも if 1 == true みたいなの書いて false 返されてあれ?ってなってる— ima1zumi (@ima1zumi) June 29, 2020 まあ 1 と true は別オブジェクトだからなーと思いつつ 1 == true は例外を返してほしいなーと…

今週の気になった bugs.ruby

内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 先週のまとめ [Bug #11669] inconsitent behavior of refining frozen class freeze されたクラスに対して Refinements で新しいメソッドを定義する…

Ruby のクラス変数とクラスのインスタンス変数の違い

Ruby のクラス変数とクラスのインスタンス変数の違いの覚書。 クラス変数 Ruby で @@変数名 で変数を定義するとクラス変数として定義されます。 また、この変数は継承したクラスでも参照する事ができます。 class X @@class_variable = "hoge" end class Y <…

Ruby の標準ライブラリに Hash#except が追加された

Ruby の標準ライブラリに Hash#except が追加されました。 ActiveSupport にある有名なやつですね。 特に問題がなければ Ruby 2.8/3.0 で追加される予定です。 チケット Feature #15822: Add Hash#except - Ruby master - Ruby Issue Tracking System コード…

今週の気になった bugs.ruby

ちょっと遅れましたが貯めてはいました。 内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 先週のまとめ [Feature #15973] Let Kernel#lambda always return a lambda lambda(&proc {}).lambda? の戻…

今週の気になった bugs.ruby

1週間だとあんまりたまらないかと思ったんですが思ったよりもたまりました。 内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 先週のまとめ Feature #16378 Support leading arguments together with…

Ruby の or と and の優先順位

Ruby の or と and は優先順位がとても低いです。 例えば x = 1 or 2 は (x = 1) or 2 と解釈され foo || bar and hoge は (foo || bar) and hoge と解釈されます。 ちなみに次のようなコードはシンタックスエラーになります。 # syntax error, unexpected `…

今週の気になった bugs.ruby のチケット

なんとなく書き溜めるようにしてみました。 内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 Feature #16828 Introduce find patterns パターンマッチで条件にマッチした一部の要素だけ取得できる提…