タグ

ブックマーク / www.akatsukinishisu.net (1)

  • メソッドを局所的に上書きする - 徒書

    知ってそうで意外と知られていないperlの小技 10選という記事にある「モジュールのメソッドを上書きする」という項について考えてみました。記事にあるやり方では、 来のメソッド(コード)のリファレンスを保存 型グロブによりメソッドを上書き 上書きしたメソッドを実行 保存していたコードリファレンスを更に上書き となっていたのですが、こうするよりも、上書きが必要な箇所のみをブロック({ ... })で囲み、その中でlocalを使って上書きする方がよいのでは、と思ったのです。具体的に書くと以下の通り。 use strict; use warnings; #---------- package Foo; sub something { print "something original.\n" }; #---------- package main; Foo->something(); { no

  • 1