전역 변수는 재할당할 수 없습니다. 항상 동일한 객체를 가리킵니다. 그러나 값이 변경 가능한 경우 (예: 목록의 콘텐츠) 콘텐츠가 변경될 수 있습니다. 로컬 변수에는 이러한 제한이 없습니다.
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