タグ

ブックマーク / melborne.github.io (1)

  • 分別のあるRubyモンキーパッチャーになるために

    Rubyのクラスはオープンです。つまりRubyのユーザが既存のクラスを開いて自由に実装を弄ることができるのです。組み込みクラスとてその例外ではありません。 既存のクラスを開いてメソッドを追加したり再定義したりすることを、業界用語で「モンキーパッチ」といいます。モンキーパッチという語には明らかに批判的・軽蔑的ニュアンスが含まれていますが、多くのRubyistはそれにひるむこと無く良くモンキーパッチします。何しろドアはいつも開いてるんですからねぇ。 るびおのモンキーパッチ モンキーパッチャー「るびお」は、製作中のライブラリで多次元配列の要素に頻繁にアクセスする必要が生じました。これには通常、Array#[]または#atを使って次のようにアクセスします。 irb> arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] irb> arr[1][2] => 6 irb> a

  • 1