오류: 변수 x은(는) 읽기 전용입니다.

문제 신고 소스 보기 Nightly · 7.4 .

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

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