所有 Bazel 文件(包括 .bzl 文件、BUILD、MODULE.bazel、VENDOR.bazel 和 WORKSPACE)中提供的方法。
成员
- abs
- 所有
- 任意
- 布尔值
- 字典
- dir
- 枚举
- 失败
- float
- getattr
- hasattr
- hash
- int
- len
- list
- max
- 分钟
- range
- repr
- 已撤消
- set
- 已排序
- str
- 元组
- 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(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起始索引。 |
fail
None fail(msg=None, attr=None, sep=" ", *args)参数
| 参数 | 说明 |
|---|---|
msg
|
默认值为 None已废弃:请改用位置参数。此参数的作用类似于隐式前置位置参数。 |
attr
|
字符串;或 None;
默认为 None已废弃。会导致将包含此字符串的可选前缀添加到错误消息中。 |
sep
|
字符串;
默认为 " "对象之间的分隔符字符串,默认为空格(“ ”)。 |
args
|
必需 一个值列表,使用 debugPrint(默认等同于 str)进行格式化,并使用 sep(默认为“"”)连接,显示在错误消息中。 |
float
float float(x=unbound)
- 如果
x已是浮点值,float会原样返回它。 - 如果
x是布尔值,float会针对 True 返回 1.0,针对 False 返回 0.0。 - 如果
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;
必需 属性的名称。 |
哈希
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
|
可迭代对象;
默认为 []要转换的对象。 |
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 会为用户创建垃圾内容,因此不建议在生产代码中使用 print。对于废弃项,请尽可能使用 fail() 报告严重错误。
参数
| 参数 | 说明 |
|---|---|
sep
|
字符串;
默认为 " "对象之间的分隔符字符串,默认为空格(“ ”)。 |
args
|
必需 要输出的对象。 |
范围
sequence range(start_or_stop, stop_or_none=None, step=1)
start 递增到 stop,增量为 step。如果只提供了一个参数,则元素的范围将从 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;
必需 如果提供了 stop,则为 start 元素的值;否则为 stop 的值,实际的开始时间为 0 |
stop_or_none
|
int;或 None;
默认为 None第一个不要包含在生成的列表中的项的可选索引;在达到 stop 之前,列表的生成会停止。
|
step
|
int;
默认值为 1增量(默认值为 1)。此值可以为负数。 |
repr
string repr(x)
repr("ab") == '"ab"'参数
| 参数 | 说明 |
|---|---|
x
|
必需 要转换的对象。 |
reversed
list reversed(sequence)
reversed([3, 5, 4]) == [4, 5, 3]
参数
| 参数 | 说明 |
|---|---|
sequence
|
可迭代对象;
必需 要反转的可迭代序列(例如列表)。 |
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 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
|
可迭代对象;
默认为 ()要转换的对象。 |
类型
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
|
必须 列出要压缩的文件。 |