タグ

Perlと読み物に関するneedingyouのブックマーク (2)

  • 第2回 mro:次のメソッドはどこ? | gihyo.jp

    モダンなクラス/オブジェクトのあり方は? Perlではそもそもオブジェクトという考え方自体が、Perl 5(Perl 7歳)ではじめて登場した、後付けのものでした。また、その実装も非常におおらかなものだったため、より「格的な」オブジェクト機構を備えた言語のユーザからはしばしば批判されてきました。 ただし、転んでもただでは起きないのがPerlハッカーたちのよいところ。そのような批判を糧に、「⁠モダンPerl」の世界でもっとも激しく、多様に進化してきたのがこの分野です。 今回はそのようなクラス/オブジェクトの進化の一例として、クラスの継承とメソッドの解決順序にまつわる話題をまとめていきます。 継承によるクラスの拡張 伝統的なbaseプラグマを使ってクラスを拡張する場合、継承元と継承先に同名のメソッドがあれば継承先のメソッドだけが優先的に実行されます。 use strict; use warn

    第2回 mro:次のメソッドはどこ? | gihyo.jp
  • 404 Blog Not Found:perl - パッチなしでパッチする

    2007年04月09日16:15 カテゴリLightweight LanguagesTips perl - パッチなしでパッチする Perlに限らず、動的に名前空間を書き換えることができる言語ならコンセプトはパクれるはずのtips. 状況 人様が書いたモジュールにバグ発見! バグ直した パッチも送った でも作者が$VERSION++してくれない さあどうする? オレバージョンのモジュールをつなぎでつかう? でも標準でないものをイントールするのはいやん サブクラス作ってメソッドをオーバーライドする? でも問題のモジュールが継承をサポートしているとは限らないし そもそも問題のモジュールOOじゃなかったりもするし 代替モジュールを書いてCPANにうp? -- i.e. JSON::* でも元々のモジュールがあまりによく使われているし うpは簡単でもサポート大変そうだし.... 実例 See Al

    404 Blog Not Found:perl - パッチなしでパッチする
  • 1