クラス::メタ:: Express.

Class :: Meta :: Expressは、クラス::メタクラスの簡潔な表現的作成のためのPerlモジュールです。
今すぐダウンロード

クラス::メタ:: Express. ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • Perl Artistic License
  • 価格:
  • FREE
  • 出版社名:
  • David Wheeler
  • 出版社のWebサイト:
  • http://search.cpan.org/dwheeler/

クラス::メタ:: Express. タグ


クラス::メタ:: Express. 説明

Class :: Meta :: Expressは、クラス::メタクラスの簡潔な表現的な作成のためのPerlモジュールです。 Class :: Meta :: Expressは、ConcizeのためのPerlモジュールです。クラス:: Meta :: Expressを使用してください。 class {meta contact =>(default_type => 'string'); '名前'があります。 contact =>(必須=> 1)があります。このモジュールは、class :: metaを持つクラスを簡潔に表現的に作成するためのインターフェースを提供します。私はもちろんクラス::メタが好きですが、私はクラスを作成するためのインターフェースで過度に興奮していませんでした:Package My :: Thingy;クラス::メタを使用する。 begin {#このクラスのクラス:: Metaオブジェクトを作成します。 My $ CM =クラス::メター - > New(キー=> 'Thingy'); #コンストラクタを追加します。 $ cm-> add_constructor(name => 'new'); #生成されたアクセサの数の属性をいくつか追加します。 $ cm-> add_attribute(name => 'id'、=> 'integer'、必須=> 1、); $ cm-> add_attribute(name => 'name'、=> 'string'、必須=> 1、); $ cm-> add_attribute(name => 'age'、=> 'integer'、); #カスタムメソッドを追加します。 $ cm-> add_method(name => 'chk_pass'、code => sub {return 'code'}、); $ CM->ビルド;この例は比較的簡単です。それはもっと冗長なことを得ることができます。しかし、それでも、すべてのメソッド呼び出しは厄介でした。つまり、クラスを宣言するためのオブジェクト指向インタフェースを使用することを考えた人は誰でも? (ああええ:私はしました。)私はもっと宣言的なインターフェースを望んでいるのは一人ではありませんでした。 Curtis Poe、私の祝福、創造されたクラス:: meta :: declare、これはこの構文を使って同じクラスを作成します.package my :: thingy;クラス:: meta :: declare ':all';を使用する。クラス:: meta :: declare-> new(#このクラスのClass :: Metaオブジェクトを作成します。Meta => 、#、#、#コンストラクター=> 、#生成されたアクセサでいくつかの属性を追加します。属性=> 、#、#、methods => 。このアプローチでは、存在するという利点があります。もう少し簡潔で、宣言的ですが、私はすべてのインデントレベルが迷惑です。特に多くの属性を定義する必要がある場合は、私がどこにいるのかを理解するのは難しいです。そして最後に、$ type_integerのようなそれらの醜い読み取り専用スカラを除いて、すべてがこの構文を持つ文字列です。だから私は簡単に1つの属性が終了して次のものが始まる場所を知ることができません。ブリーフ。要件: ・Perl


クラス::メタ:: Express. 関連ソフトウェア

su

SUXは、C ++とJavaのBasicおよび高度な簡潔なデータ構造の高性能ユーティリティのセットです。 ...

249

ダウンロード