在SCons中,你如何逃避变量替换?

时间:2016-06-14 15:31:22

标签: scons

我试图在SCons中进行变量替换,然后立即使用可以作为变量名称一部分的字符。如果VARIABLE='first'我希望"$VARIABLE.name"扩展为first.name而不是引发错误。 $(VARIABLE).name${VARIABLE}.name似乎无法运作。我错过了一些非常明显的东西吗?

1 个答案:

答案 0 :(得分: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.