所有 Bazel 檔案 (包括 .bzl 檔案、BUILD、MODULE.bazel、VENDOR.bazel 和 WORKSPACE) 中可用的方法。
成員
- abs
- 全部
- any
- bool
- dict
- dir
- enumerate
- fail
- float
- getattr
- hasattr
- hash
- int
- len
- list
- max
- 分鐘
- range
- repr
- 已退款
- set
- 排序
- str
- tuple
- type
- zip
ABS
unknown abs(x)
abs(-2.3) == 2.3
參數
參數 | 說明 |
---|---|
x
|
int 或 float;
必要 數字 (int 或 float) |
全部
bool all(elements)
all(["hello", 3, True]) == True all([-1, 0, 1]) == False
參數
參數 | 說明 |
---|---|
elements
|
必要 字串或元素集合。 |
不限
bool any(elements)
any([-1, 0, 1]) == True any([False, 0, ""]) == False
參數
參數 | 說明 |
---|---|
elements
|
必要 字串或元素集合。 |
bool
bool bool(x=False)
None
、False
、空字串 (""
)、數字 0
或空集合 (例如 ()
、[]
),則會傳回 False
。否則會傳回 True
。
參數
參數 | 說明 |
---|---|
x
|
預設值為 False 要轉換的變數。 |
dict
dict dict(pairs=[], **kwargs)
參數
參數 | 說明 |
---|---|
pairs
|
預設值為 [] 字典,或元素長度皆為 2 (鍵、值) 的可疊代項目。 |
kwargs
|
必要 其他項目的字典。 |
dir
list dir(x)
參數
參數 | 說明 |
---|---|
x
|
必要 要檢查的物件。 |
列舉
list enumerate(list, start=0)
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]
參數
參數 | 說明 |
---|---|
list
|
必要 輸入序列。 |
start
|
int;
預設值為 0 起始索引。 |
失敗
None
fail(msg=None, attr=None, sep=" ", *args)
參數
參數 | 說明 |
---|---|
msg
|
預設值為 None 已淘汰:請改用位置引數。這個引數的作用類似於隱含的前置位置引數。 |
attr
|
string 或 None ;預設值為 None 已淘汰。導致含有這個字串的選用前置字串新增至錯誤訊息。 |
sep
|
string;預設為 " " 物件之間的分隔字串,預設為空格 (" ")。 |
args
|
必要 以 debugPrint (預設等同於 str) 格式設定的值清單,並以 sep (預設為「 」) 聯結,顯示在錯誤訊息中。 |
float
float float(x=unbound)
- 如果
x
已經是浮點數,float
會傳回未變更的值。 - 如果
x
是布林值,float
會傳回 1.0 代表 True,傳回 0.0 代表 False。 - 如果
x
是 int,float
會傳回最接近 x 的有限浮點值,或是在量級過大時傳回錯誤。 - 如果
x
是字串,則必須是有效的浮點常值,或等於 (忽略大小寫)NaN
、Inf
或Infinity
,且可選擇性地在前面加上+
或-
符號。
float()
會傳回 0.0。
參數
參數 | 說明 |
---|---|
x
|
預設值為 unbound 要轉換的值。 |
getattr
unknown getattr(x, name, default=unbound)
default
(如有指定) 或引發錯誤。getattr(x, "foobar")
相當於 x.foobar
。getattr(ctx.attr, "myattr") getattr(ctx.attr, "myattr", "mydefault")
參數
參數 | 說明 |
---|---|
x
|
必要 要存取屬性的結構體。 |
name
|
string;
必要 結構屬性的名稱。 |
default
|
預設值為 unbound 如果結構體沒有指定名稱的屬性,則傳回預設值。 |
hasattr
bool hasattr(x, name)
x
具有指定 name
的屬性或方法,則傳回 True,否則傳回 False。範例:hasattr(ctx.attr, "myattr")
參數
參數 | 說明 |
---|---|
x
|
必要 要檢查的物件。 |
name
|
string;必要
屬性名稱。 |
hash
int hash(value)
String.hashCode()
相同的演算法,以決定性方式計算得出,也就是:s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]
參數
參數 | 說明 |
---|---|
value
|
string;必要
要雜湊的字串值。 |
int
int int(x, base=unbound)
- 如果
x
已經是 int,int
會傳回未變更的值。 - 如果
x
是布林值,int
會針對 True 傳回 1,針對 False 傳回 0。 - 如果
x
是字串,格式必須為<sign><prefix><digits>
。<sign>
可以是"+"
、"-"
或空白 (解讀為正值)。<digits>
是從 0 到base
- 1 的數字序列,其中字母 a-z (或 A-Z) 用於代表 10 到 35 的數字。如果base
為 2/8/16,則<prefix>
為選用,且可分別為 0b/0o/0x (或同等的 0B/0O/0X);如果base
為這些基底以外的任何值或特殊值 0,則前置字元必須為空白。如果base
為 0,則字串會解讀為整數常值,也就是根據所用的前置字元 (如有) 選擇其中一個基底 (2/8/10/16)。如果base
為 0,則不使用前置字元,且如果有多個數字,開頭數字不得為 0,以免八進位和十進位混淆。字串代表的數字大小必須在 int 類型允許的範圍內。 - 如果
x
是浮點數,int
會傳回浮點數的整數值,並向零捨去。如果 x 不是有限值 (NaN 或無限大),就會發生錯誤。
x
是任何其他類型,或值是不符合上述格式的字串,這個函式就會失敗。與 Python 的 int
函式不同,這個函式不允許零引數,也不允許字串引數有多餘的空白字元。範例:
int("123") == 123 int("-123") == -123 int("+123") == 123 int("FF", 16) == 255 int("0xFF", 16) == 255 int("10", 0) == 10 int("-0x10", 0) == -16 int("-0x10", 0) == -16 int("123.456") == 123
參數
參數 | 說明 |
---|---|
x
|
必要 要轉換的字串。 |
base
|
預設值為 unbound 用於解讀字串值的基底,預設為 10。必須介於 2 至 36 (含) 之間,或為 0,以便偵測基底,如同 x 是整數常值。如果值不是字串,請勿提供這項參數。
|
len
int len(x)
參數
參數 | 說明 |
---|---|
x
|
必要 要回報長度的值。 |
list
list list(x=[])
list([1, 2]) == [1, 2] list((2, 3, 2)) == [2, 3, 2] list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]
參數
參數 | 說明 |
---|---|
x
|
iterable;
default is [] The object to convert. |
max
unknown max(key=None, *args)
max(2, 5, 4) == 5 max([5, 6, 3]) == 6 max("two", "three", "four", key = len) =="three" # the longest max([1, -1, -2, 2], key = abs) == -2 # the first encountered with maximal key value
參數
參數 | 說明 |
---|---|
key
|
可呼叫;或 None ;
預設值為 None 比較前套用至每個元素的選用函式。 |
args
|
必要 要檢查的元素。 |
分鐘
unknown min(key=None, *args)
min(2, 5, 4) == 2 min([5, 6, 3]) == 3 min("six", "three", "four", key = len) == "six" # the shortest min([2, -2, -1, 1], key = abs) == -1 # the first encountered with minimal key value
參數
參數 | 說明 |
---|---|
key
|
可呼叫;或 None ;
預設值為 None 比較前套用至每個元素的選用函式。 |
args
|
必要 要檢查的元素。 |
列印
None
print(sep=" ", *args)
args
。開頭會加上 "DEBUG"
字串,以及這個呼叫的位置 (檔案和行號)。系統會以何種方式將引數轉換為字串,目前並未指定,且隨時可能變更。特別是,這項格式可能與 str()
和 repr()
執行的格式不同 (且更詳細)。由於 print
會為使用者建立垃圾內容,因此不建議在正式版程式碼中使用。如要淘汰項目,請盡可能使用 fail()
產生硬性錯誤。
參數
參數 | 說明 |
---|---|
sep
|
string;預設為 " " 物件之間的分隔字串,預設為空格 (" ")。 |
args
|
必要 要列印的物件。 |
範圍
sequence range(start_or_stop, stop_or_none=None, step=1)
step
增量建立清單,其中的項目會從 start
遞增至 stop
。如果只提供一個引數,項目範圍會從 0 到該元素。range(4) == [0, 1, 2, 3] range(3, 9, 2) == [3, 5, 7] range(3, 0, -1) == [3, 2, 1]
參數
參數 | 說明 |
---|---|
start_or_stop
|
int;
required Value of the start element if stop is provided, otherwise value of stop and the actual start is 0 |
stop_or_none
|
int; 或 None ;
預設值為 None 要從結果清單中排除的第一個項目的選用索引;清單產生作業會在達到 stop 前停止。
|
step
|
int;預設值為 1 增量 (預設為 1)。可能為負數。 |
repr
string repr(x)
repr("ab") == '"ab"'
參數
參數 | 說明 |
---|---|
x
|
必要 要轉換的物件。 |
已取消
list reversed(sequence)
reversed([3, 5, 4]) == [4, 5, 3]
參數
參數 | 說明 |
---|---|
sequence
|
iterable;
required 要反轉的可疊代序列 (例如清單)。 |
set
set set(elements=[])
如果呼叫時未提供引數,set()
會傳回新的空白集合。
例如:
set() # an empty set set([3, 1, 1, 2]) # set([3, 1, 2]), a set of three elements set({"k1": "v1", "k2": "v2"}) # set(["k1", "k2"]), a set of two elements
參數
參數 | 說明 |
---|---|
elements
|
預設值為 [] 一組、一系列可雜湊的值或字典。 |
已排序
list sorted(iterable, key=None, *, reverse=False)
sorted([3, 5, 4]) == [3, 4, 5] sorted([3, 5, 4], reverse = True) == [5, 4, 3] sorted(["two", "three", "four"], key = len) == ["two", "four", "three"] # sort by length
參數
參數 | 說明 |
---|---|
iterable
|
可疊代;
必要 要排序的可疊代序列。 |
key
|
可呼叫;或 None ;
預設值為 None 比較前套用至每個元素的選用函式。 |
reverse
|
bool;預設值為 False 以遞減順序傳回結果。 |
str
string str(x)
str("ab") == "ab" str(8) == "8"
參數
參數 | 說明 |
---|---|
x
|
必要 要轉換的物件。 |
元組
tuple tuple(x=())
tuple([1, 2]) == (1, 2) tuple((2, 3, 2)) == (2, 3, 2) tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)
參數
參數 | 說明 |
---|---|
x
|
iterable;
default is () The object to convert. |
類型
string type(x)
type(2) == "int" type([1]) == "list" type(struct(a = 2)) == "struct"
if type(x) == type([]): # if x is a list
參數
參數 | 說明 |
---|---|
x
|
必要 要檢查類型的物件。 |
zip
list zip(*args)
tuple
的 list
,其中第 i 個元組包含每個引數序列或可疊代項目的第 i 個元素。清單的大小與最短的輸入內容相同。如果只有一個可疊代引數,則會傳回 1 元組清單。如果沒有引數,則會傳回空白清單。範例:zip() # == [] zip([1, 2]) # == [(1,), (2,)] zip([1, 2], [3, 4]) # == [(1, 3), (2, 4)] zip([1, 2], [3, 4, 5]) # == [(1, 3), (2, 4)]
參數
參數 | 說明 |
---|---|
args
|
必要 清單壓縮成 ZIP 檔案。 |