覆盖语句

使用override关键字作为变量赋值的前缀可以防止该变量的值再次被更改,除非通过另一个override语句。这是 Starlark 不支持的功能。

可以通过在重新分配变量之前检查变量是否已定义来删除它。例如,替换:

override MY_VAR := foo
MY_VAR := bar
# MY_VAR is foo here

和:

MY_VAR := foo

# Generally this would be in a separate file that is included
ifndef MY_VAR
MY_VAR := bar
enddef

# MY_VAR is foo here