2016-06-14 1 views
0

私はSConsで変数置換をしようとしていますが、すぐに変数名の一部となる文字が続きます。 VARIABLE='first'の場合"$VARIABLE.name"をエラーを発生させる代わりにfirst.nameに展開します。 $(VARIABLE).name${VARIABLE}.nameは機能していないようです。非常に明白な何かが欠けていますか?SConsでは、どのように変数置換をエスケープしますか?

+0

その後、私はさらにあなたを助けることができるかもしれない...一緒にフル逐語的にエラー出力で、あなたの質問に簡単なMWEを追加してください。 – dirkbaechle

答えて

0

中括弧です。特に、変数代入で属性アクセスを使用することも可能です。

SConstruct

class Bag: 
    def __init__(self, d): 
     self.__dict__ = d 

env = Environment(FOO='foo', BAR=Bag({'baz':'quux'})) 

env.Command('dummy1', None, 'echo ${FOO}.bar') 
env.Command('dummy2', None, "echo $BAR.baz") 

出力

scons: Building targets ... 
echo foo.bar 
foo.bar 
echo quux 
quux 
scons: done building targets. 
+0

{}で何が問題になっていたかわからないおそらくタイプミスでしょう。 – joeforker

+0

それが解決策であれば、答えを記入してください。 – bdbaddog

関連する問題