ข้อผิดพลาด: ตัวแปร 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