错误:变量 x 为只读

无法重新分配全局变量。它将始终指向同一对象。 但是,如果该值是可变值(例如,列表的内容),则其内容可能会发生变化。局部变量没有此限制。

a = [1, 2]

a[1] = 3

b = 3

b = 4  # forbidden

ERROR: /path/ext.bzl:7:1: Variable b is read only

如果您尝试重新定义函数(不支持函数重载),也会收到类似错误,例如:

def foo(x): return x + 1

def foo(x, y): return x + y  # forbidden