エラー: 変数 x は読み取り専用です

問題を報告する ソースを表示 ナイトリー · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

グローバル変数は再割り当てできません。常に同じオブジェクトを参照します。ただし、値が変更可能(リストの内容など)な場合、その内容が変更されることがあります。ローカル変数にはこの制限はありません。

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