gpt4 book ai didi

scons - 在构建器调用时将值附加到环境变量

转载 作者:行者123 更新时间:2023-12-04 05:48:42 25 4
gpt4 key购买 nike

问题如下:
我有一个环境,其中定义了一些变量,如下所示:

env = Environment(CPPPATH=['#/include'])

在某些情况下,我需要调用带有一些额外值的构建器,这些值不应永久添加到环境中,以免不必要地污染环境。

一种方法是通过将额外值与环境值合并来将额外值附加到构建器调用中。
env.Object('test.c', CPPPATH=['#/some_other_include_path']+env['CPPPATH'])

有没有更优雅的方法来做到这一点?

最佳答案

我通过克隆 env 并附加到它来做到这一点,如下所示:

clonedEnv = env.Clone()
clonedEnv.Append(CPPPATH=['#anotherPath'])
clonedEnv.Object('test.c')

一个更pythonic(和有效)的方法来做你正在做的事情是使用 python list.extend() 函数:
cpppath = ['path1', 'path2']
cpppath.extend(env['CPPPATH'])
env.Object('test.c', CPPPATH = cpppath)

关于scons - 在构建器调用时将值附加到环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10365776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com