ข้อผิดพลาด: ตัวแปร x เป็นแบบอ่านอย่างเดียว

รายงานปัญหา ดูแหล่งที่มา Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

กำหนดตัวแปรส่วนกลางใหม่ไม่ได้ โดยจะชี้ไปยังออบเจ็กต์เดียวกันเสมอ แต่เนื้อหาอาจเปลี่ยนแปลงได้หากค่าเปลี่ยนแปลงได้ (เช่น เนื้อหาของรายการ) ตัวแปรภายในไม่มีข้อจำกัดนี้

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