2020-07-14 にっき

自分はアヒルのように動けばアヒル、Arrayを拡張して回転寿司のように動くArrayは回転寿司、そういう雑な気持ちでRefinementsを使っているんだなあ。べんりなので...。

これは雑すぎですがこういう感じ

「こうでもかけるんだけど〜」とクラスを定義しだすと「クラスでいいじゃん」になるかと思いますがクラスを定義しなくていいというのが便利ポイントなのでその辺の音楽性の違いっぽい。 あとは同じことをやるならメソッドにしなくてもよくて結果を説明的な名前の変数名に入れればいいのでは、とかもありそうだけど、それもやはりすごく特定のユースケースに合わせたメソッドをその場だけで使うことが出来る、というところに価値を見出しているんですよね。 一般的なメソッドを組み合わせて呼びたいわけじゃなくて特定のユースケースに合わせて作ったメソッドが生えているのがよい。 そういう意味でいうと自分はやはり語彙を再定義しているRSpecみたいなところをRubyの書きはじめの最初にガツンとうけてしまったので文化的な背景がやはり違いそう。


色々と話していてrefine(Array) よりも refine(sushi.singleton_class) のほうがより範囲が狭くなって Module.new との相性がよいことに気がついた。


これの感想にリプ返していた

hanachin.hateblo.jp

雑ではない仲間

雑仲間

アプリケーションの中でライブラリみたいなことをやるときに補助的なAPIを完全にprivateなものとしてはやせるのはやはり便利そう

これもそうかな

いい話!なので特にリプをしていなかった

雑仲間だ

なんでなんだろうなあ

この辺を読み直しているけど使ってみるとやっぱり削がれてしまった機能をもとめてブロック単位のRefinementsとかを作り出してしまうので使い勝手がよくないだけなんだろうか

magazine.rubyist.net rubykaigi.org github.com

組み込みを拡張したいとなるとそうですよね、という感じ

はい

いいなと思ったらKyashでお金を下さい
20191128011151
GitHubスポンサーも受け付けています
https://github.com/sponsors/hanachin/