Drkcore

15 09 2007 perl HOP Tweet

HOP 4.5.7

Higher-Order Perl

hash,arrayのほかにクロージャもblessできる。

Perl におけるオブジェクト指向

Perl のオブジェクトを作るときは、まず組み込みのデータ型から適当なものを選びます。普通はハッシュを使うことが多いと思いますが、配列やクロージャ(無名サブルーチン)もオブジェクトに出来ます。

ProductName Higher-order Perl: A Guide To Program Transformation
Mark Jason Dominus
Morgan Kaufmann Pub / ¥ 7,625 (2005-05-30)
通常24時間以内に発送

いくつかのアクションを持つイテレータを用意したとき

$it->('next');

とか書かないといけないところを

sub Iter::next {$_[0]->('next')}

というような関数を用意する。更に、イテレータを受け取ってblessして返す関数を適用。

sub Iterator (&) { bless $_[0] => 'Iter'}

そうすると、

$it->next

というようなメソッド風呼び出しが行え、一種の構文糖衣的な使い方と考えておけばよいのだろう。

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021