2011-06-24 11 views
0

これはおかしいタイトルかもしれません。誰かがこの質問を説明する方法についてより良いアイデアを持っているなら、それを聞いて幸せです。Builderタグに属性を動的に追加してください。

私はPythonでのElementTreeとXMLドキュメントを構築していた場合、私は

tag = ET.SubElement(root, 'tag') 
tag.set('foo', 'true') 
if bar 
    tag.set('baz', 'false') 

しかし、RubyでBuilderでの線に沿って何かを行うことができますが、私は、タグの属性を設定する方法を見ることができる唯一の方法であります次の操作を行う:

xml.tag :foo => 'true', :baz => 'false' 

することは、私はその時点の後、後bazを割り当てるための方法はありますか?または、そのように全体を書き直す必要がありますか。

if bar 
    xml.tag :foo => 'true', :baz => 'false' 
else 
    xml.tag :foo => 'true', :baz => 'true' 
end 

答えて

1

インプレースで更新しないと、コードはより明確になります。なぜこれはどうですか?

xml.tag :foo => 'true', :baz => (bar ? 'true' : 'false') 
+0

ワウ。私はアホです。ありがとうございました。 –

関連する問題