タグ

リソースリークに関するakaneharaのブックマーク (1)

  • クロージャとメモリリーク - Pixel Pedals of Tomakomai

    WEBアプリでありそうなこんなコードがあります。flushでデータを排出するのですが、そのときに$app->run内で$app->{flush_fanc}に関数リファレンスを渡すと、$app->flushでそれを終了処理として呼びます。 package main; { my $app = App->new(); $app->run(); $app->flush(); } print "end?n"; さて、Appクラスのrunを実装します。このとき、flush時に依頼する終了処理としてAppクラスの"メソッド"を使いたい場合、単純な関数リファレンスだとメソッドとして渡せないので、クロージャを渡してみます。ここでは、終了処理としてhelloメソッドを、きちんと$selfのメソッドとして呼び出したいとします。 package App; sub new{bless{}, shift} sub h

    クロージャとメモリリーク - Pixel Pedals of Tomakomai
  • 1