私は、オブジェクトを定義済みのXMLファイルに従って作成する必要があるフレームワークを作成しています。 Rubyでメタプログラミングを使用したRubyアプリケーションの設計
<type name="man">
<property name="name" type="string">
<property name="height" type="int">
<property name="age" type="int">
<property name="profession" type="string" value="unemployed">
</type>
を、これは次のようにオブジェクトを作成できるようにする必要があります:たとえば、XMLに次のファイル場合は発生し
man = Man.new('John', 188, 30)
注:フィールドの場合「の値'がxmlに定義されている場合、初期化メソッドで値 を受け入れる必要はありませんが、デフォルト値としてクラス自体によって に設定する必要があります。
この場合、推奨される実装はありますか? 私は現在、Dave Thomasのメタプログラミングに関するスクリーンキャスト、 を見ていますので、これは非常に適していますが、どんな提案も感謝します!
私はパラメータを追加する場合特定の順序、私は同じ順序でそれらを抽出することはできますか?私は 'instance_variables'でしようとしましたが、逆の順序でそれらをgitします。注文は保証されていますか? –
インスタンス変数は順序付けされたコレクションではないため、実際に保証された順序はありません。 Rubyのバージョン間で実際には順序が異なります。インスタンス変数名のシーケンスを保存する場合は、配列を作成して自分自身で保存するのが最善の方法です。 – Chuck