Create  Edit  Diff  Phillro Industries  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

Phi::Indexer

Phi::Indexer

Indexer というのは

Obj#method_name[]

Obj#method_name[]=

といったタイプのメソッドをいいます。このタイプのメソッドは Delphi ではたくさんありますが、Ruby では単純には実現できません。Rubyの場合には、このような場合には Obj#method_name がオブジェクト内部の配列への参照を返すという方法を採ることになります。

しかし、ApolloでDelphi由来のIndexerタイプのメソッドを実現するために、もともとDelphiのメソッドだったものを配列オブジェクトに変えるわけにもいきません。

そこで、一時的に配列オブジェクトを作成して、その配列を使ってもともとのメソッドの機能を実現するためのクラスが Phi::Indexer クラスです。

次のプログラムでPhi::StringGrid#cellsメソッドはセルへの代入・参照が可能なPhi::Indexerクラスのインスタンスを作っています。

require "phi"
form = Phi::Form.new
grid = Phi::StringGrid.new form
grid.cells[1,2] = "1の2"
p grid.cells #=> #<Phi::Indexer:0x143a070>
form.show
Phi.mainloop

参考:

[ap-list:1335] Re: 配列プロパティ

メソッド

[]

[]=

Last modified:2004/10/28 23:14:05
Keyword(s):
References:[Phi-Classes] [Phi-Constants] [Phi::ActionList] [Phi::Indexer]