タグ

Class-Accessorに関するishideoのブックマーク (3)

  • Perlでオブジェクトを書くときに必要なClass::Accessor とは | ブログが続かないわけ

    SQLAlchemy Database Engines 日記。 (TokuLog) - Class::Accessor は言語の機能としてつけるべきだったよね このエントリの中に次のようなくだりがある。「Perl で書かれたオブジェクトのほとんどって、この2つを継承しているものね。」 最近話題のPerlの学習コストの話とも多少関係があるのだが、PerlではCPANの使いこなしってのが重要なのだ。そこで、Class::Accessor とはどういうものか簡単に説明しよう。 基的には perldoc Class::Accessor perldoc -m Class::Accessor としてもらえばいいのだけれども、もう少し簡単に解説してみる。 (ホントは自分用の備忘録なのだが) オブジェクト指向そのものの話は割愛させてもらいましょう。オブジェクト指向ではメンバ変数に直接アクセスするのは「悪

    Perlでオブジェクトを書くときに必要なClass::Accessor とは | ブログが続かないわけ
  • Elementary, ... アクセサモジュールベンチ - Lvalue速っ

    Perl のアクセサモジュールとしては、Class::Accessor::Fast が人気すね。 # これは例 package Hoge; use base 'Class::Accessor::Fast'; __PACKAGE__->mk_accessors(qw( req )); sub new { my $class = shift; bless { url => 'http://e8y.net/', req => HTTP::Request->new, }, $class; } こんな風な、ハッシュに bless するよくあるクラスの場合に、そのハッシュのキーと同じ名前でgetterを作成しておくと、属性にアクセスする場合($hoge->url)と属性のオブジェクトのメソッドを呼ぶ場合($hoge->req->header())に、ブレース{} が途中に入ってこないので見やすいし、そ

  • アクセサ(4) Class::Accessor - ぱるも日記

    CPANからのインストールも済んだので、Class::Accessorの使い方を勉強します。 といっても、使い方はとっても簡単です。Class::Accessor を継承すれば mk_accessors というクラスメソッドが使えるようになります。このメソッドに「属性名のリスト」を渡せば、自動的にその属性に対するアクセサ(getter/setter)を作ってくれます。 Class::Structの時に書いたコード を Class::Accessor を使って書き換えてみます。 package Person; use strict; use base qw(Class::Accessor); Person->mk_accessors(qw(name age)); sub introduce { my $self = shift; print "I am " . $self->name();

    アクセサ(4) Class::Accessor - ぱるも日記
  • 1