タグ

リフレクションに関するtaka222のブックマーク (4)

  • Rubyのリフレクション解説(eval族のはなし) - このブログは証明できない。

    Rubyのリフレクションについてステキな記事を見つけてしまいました。 no title 前提知識 Rubyでは何でもオブジェクトだと言われます。まずは、この辺について。 最初に思い浮かぶのはこれですね。 5.class #=> Fixnum "hello".class #=> String class自体はどうでしょうか? class Foo;end #=> nil Foo.class #=> Class ここから2つのことが解ります。Fooは定数であるということ。そしてClass型のオブジェクトを参照しているということ。 これはどうでしょう? Foo = Class.new (irb):8 warning: already initialized constant Foo => Foo 予想通りエラーになります。定数 Foo を再度初期化しようとしたからです。 Fooクラスを定義したい時

  • プログラムの裏側:内部情報を得るためのJavaリフレクション

    はじめに プログラミングにおけるリフレクションとは、変数からメソッドの宣言まで、プログラムの内部構成のすべてを知ることのできる機能です。Javaでこの機能を利用するには、その名のとおり、JavaリフレクションAPIを使用します。 JavaリフレクションAPIを使用すると、特定のJava仮想マシン(JVM)のクラス、インターフェース、およびオブジェクトの内部情報を知ることができます。一般に、開発者はこのAPIを使用して次のような作業を行います。この作業内容を見れば、デバッガや統合開発環境(IDE)などのツールの開発にこのAPIが頻繁に使用される理由が分かると思います。 オブジェクトのクラスを判別する。 クラスの修飾子、フィールド、メソッド、コンストラクタなどに関する情報を得る。 インターフェースの定数とメソッドの宣言に関する情報を得る。 実行時まで名前はわからないが、設計時に使用されたり、ラ

    プログラムの裏側:内部情報を得るためのJavaリフレクション
  • PHP: Reflection - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    PHP: Reflection - Manual
  • PHPでAOPしてみた - localdisk

    PHPでDIはたまに見かけるけどPHPでAOPってのはあまりみないですね。S2.PHP5くらいしかない。 The Seasar Project - S2Container.PHP で、AOPしたいってだけでS2.PHP5をいれるのもアリでしょうけど、もっとちっちゃく利用したかったのでプロトタイプを作ってみた。 アスペクトクラスを書く <?php class Aspect { private $clazz; private $obj; private $intercepters = array(); public function __construct($obj) { if (is_null($obj) || !isset($obj) || !is_object($obj)) { throw new Exception('オブジェクトじゃないとだめ'); } $this->obj = $o

    PHPでAOPしてみた - localdisk
  • 1