Tất cả tệp Bazel

Báo cáo vấn đề Nightly · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Các phương thức có trong tất cả tệp Bazel, bao gồm các tệp .bzl, BUILD, MODULE.bazel, Ask.bazel và WORKSPACE.

Hội viên

abs

unknown abs(x)

Trả về giá trị tuyệt đối của một số (một số không âm có cùng độ lớn).
abs(-2.3) == 2.3

Thông số

Thông số Mô tả
x int; hoặc float; bắt buộc
Một số (số nguyên hoặc số thực)

tất cả

bool all(elements)

Trả về true nếu tất cả phần tử đều đánh giá là True hoặc nếu tập hợp này trống. Các phần tử được chuyển đổi thành boolean bằng hàm bool.
all(["hello", 3, True]) == True
all([-1, 0, 1]) == False

Thông số

Thông số Mô tả
elements bắt buộc
Một chuỗi hoặc một tập hợp các phần tử.

bất kỳ

bool any(elements)

Trả về true nếu có ít nhất một phần tử được đánh giá là True. Các phần tử được chuyển đổi thành boolean bằng cách sử dụng hàm bool.
any([-1, 0, 1]) == True
any([False, 0, ""]) == False

Thông số

Thông số Mô tả
elements bắt buộc
Một chuỗi hoặc tập hợp các phần tử.

bool

bool bool(x=False)

Hàm khởi tạo cho loại bool. Phương thức này trả về False nếu đối tượng là None, False, một chuỗi trống (""), số 0 hoặc một tập hợp trống (ví dụ: (), []). Nếu không, phương thức này sẽ trả về True.

Thông số

Thông số Mô tả
x mặc định là False
Biến cần chuyển đổi.

dict

dict dict(pairs=[], **kwargs)

Tạo một từ điển từ một đối số vị trí không bắt buộc và một tập hợp các đối số từ khoá không bắt buộc. Trong trường hợp cùng một khoá được cung cấp nhiều lần, giá trị cuối cùng sẽ được sử dụng. Các mục nhập được cung cấp thông qua đối số từ khoá được xem là đến sau các mục nhập được cung cấp thông qua đối số vị trí.

Thông số

Thông số Mô tả
pairs mặc định là []
Một dict hoặc một đối tượng có thể lặp lại, trong đó mỗi phần tử có độ dài 2 (khoá, giá trị).
kwargs bắt buộc
Từ điển của các mục bổ sung.

dir

list dir(x)

Trả về danh sách các chuỗi: tên của các thuộc tính và phương thức của đối tượng tham số.

Thông số

Thông số Mô tả
x bắt buộc
Đối tượng cần kiểm tra.

liệt kê

list enumerate(list, start=0)

Trả về một danh sách các cặp (bộ hai phần tử), trong đó có chỉ mục (int) và mục trong chuỗi đầu vào.
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]

Thông số

Thông số Mô tả
list bắt buộc
chuỗi đầu vào.
start int; mặc định là 0
chỉ mục bắt đầu.

không thành công

None fail(msg=None, attr=None, sep=" ", *args)

Làm cho quá trình thực thi không thành công do có lỗi.

Thông số

Thông số Mô tả
msg mặc định là None
Không dùng nữa: hãy sử dụng đối số vị trí. Đối số này đóng vai trò như một đối số vị trí hàng đầu ngầm ẩn.
attr chuỗi; hoặc None; mặc định là None
Không dùng nữa. Thêm một tiền tố không bắt buộc chứa chuỗi này vào thông báo lỗi.
sep string; giá trị mặc định là " "
Chuỗi phân tách giữa các đối tượng, mặc định là dấu cách (" ").
args bắt buộc
Danh sách các giá trị được định dạng bằng debugPrint (tương đương với str theo mặc định) và kết hợp với sep (mặc định là " "), xuất hiện trong thông báo lỗi.

số thực dấu phẩy động

float float(x=unbound)

Trả về x dưới dạng giá trị float.
  • Nếu x đã là một float, float sẽ trả về giá trị đó mà không thay đổi.
  • Nếu x là một boolean, float sẽ trả về 1.0 cho True và 0.0 cho False.
  • Nếu x là một số nguyên, float sẽ trả về giá trị dấu phẩy động hữu hạn gần nhất tới x hoặc một lỗi nếu cường độ quá lớn.
  • Nếu x là một chuỗi, thì chuỗi đó phải là một giá trị cố định kiểu dấu phẩy động hợp lệ hoặc bằng (bỏ qua chữ hoa chữ thường) với NaN, Inf hoặc Infinity, có thể có dấu + hoặc - đứng trước.
Mọi giá trị khác đều gây ra lỗi. Không có đối số, float() sẽ trả về 0,0.

Thông số

Thông số Mô tả
x mặc định là unbound
Giá trị cần chuyển đổi.

getattr

unknown getattr(x, name, default=unbound)

Trả về trường của cấu trúc có tên đã cho nếu có. Nếu không, hàm này sẽ trả về default (nếu được chỉ định) hoặc phát sinh lỗi. getattr(x, "foobar") tương đương với x.foobar.
getattr(ctx.attr, "myattr")
getattr(ctx.attr, "myattr", "mydefault")

Thông số

Thông số Mô tả
x required
Cấu trúc có thuộc tính được truy cập.
name string; bắt buộc
Tên của thuộc tính cấu trúc.
default giá trị mặc định là unbound
Giá trị mặc định được trả về trong trường hợp cấu trúc không có thuộc tính của tên đã cho.

hasattr

bool hasattr(x, name)

Trả về True nếu đối tượng x có một thuộc tính hoặc phương thức của name đã cho, nếu không thì trả về False. Ví dụ:
hasattr(ctx.attr, "myattr")

Thông số

Thông số Mô tả
x bắt buộc
Đối tượng cần kiểm tra.
name string; bắt buộc
Tên thuộc tính.

hàm băm

int hash(value)

Trả về giá trị băm cho một chuỗi. Hàm này được tính toán một cách tất định bằng cách sử dụng cùng một thuật toán với String.hashCode() của Java, cụ thể là:
s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]
Chúng tôi hiện chưa hỗ trợ việc băm các giá trị ngoài các chuỗi.

Thông số

Thông số Mô tả
value string; bắt buộc
Giá trị chuỗi để băm.

int

int int(x, base=unbound)

Trả về x dưới dạng giá trị int.
  • Nếu x đã là một số nguyên, thì int sẽ trả về giá trị này không thay đổi.
  • Nếu x là một boolean, int sẽ trả về 1 cho True và 0 cho False.
  • Nếu x là một chuỗi thì chuỗi này phải có định dạng <sign><prefix><digits>. <sign>"+", "-" hoặc trống (được diễn giải là dương). <digits> là một chuỗi chữ số từ 0 đến base – 1, trong đó các chữ cái từ a đến z (hoặc tương đương là A-Z) được dùng làm chữ số cho các số từ 10 đến 35. Trong trường hợp base là 2/8/16, thì <prefix> là không bắt buộc và có thể là 0b/0o/0x (hoặc tương đương, 0B/0O/0X); nếu base là bất kỳ giá trị nào khác ngoài các cơ sở này hoặc giá trị đặc biệt 0, thì tiền tố phải để trống. Trong trường hợp base bằng 0, chuỗi được hiểu là một số nguyên cố định, theo nghĩa là một trong các cơ sở 2/8/10/16 được chọn tuỳ thuộc vào tiền tố nào (nếu có) được sử dụng. Nếu base là 0 thì không có tiền tố nào được dùng và có nhiều hơn một chữ số, thì chữ số đứng đầu không được là 0; điều này nhằm tránh nhầm lẫn giữa hệ bát phân và số thập phân. Độ lớn của số được biểu thị bằng chuỗi phải nằm trong phạm vi cho phép của kiểu int.
  • Nếu x là một số thực có độ chính xác đơn, int sẽ trả về giá trị số nguyên của số thực có độ chính xác đơn, làm tròn về 0. Đây là lỗi nếu x không phải là số hữu hạn (NaN hoặc vô cực).
Hàm này sẽ không hoạt động nếu x là bất kỳ kiểu nào khác hoặc nếu giá trị là một chuỗi không đáp ứng định dạng trên. Không giống như hàm int của Python, hàm này không cho phép đối số rỗng và không cho phép khoảng trắng thừa cho đối số chuỗi.

Ví dụ:

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

Thông số

Thông số Mô tả
x bắt buộc
Chuỗi cần chuyển đổi.
base giá trị mặc định là unbound
Cơ số dùng để diễn giải giá trị chuỗi; mặc định là 10. Phải nằm trong khoảng từ 2 đến 36 (bao gồm) hoặc 0 để phát hiện cơ số như thể x là một giá trị số nguyên. Bạn không được cung cấp thông số này nếu giá trị không phải là một chuỗi.

len

int len(x)

Trả về độ dài của một chuỗi, trình tự (chẳng hạn như danh sách hoặc bộ dữ liệu), từ điển hoặc đối tượng có thể lặp lại khác.

Thông số

Thông số Mô tả
x bắt buộc
Giá trị có độ dài cần báo cáo.

danh sách

list list(x=[])

Trả về một danh sách mới có cùng các phần tử với giá trị có thể lặp lại đã cho.
list([1, 2]) == [1, 2]
list((2, 3, 2)) == [2, 3, 2]
list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]

Thông số

Thông số Mô tả
x iterable; mặc định là []
Đối tượng cần chuyển đổi.

tối đa

unknown max(key=None, *args)

Trả về một đối số lớn nhất trong tất cả đối số đã cho. Nếu chỉ cung cấp một đối số vị trí, thì đối số đó phải là một đối số lặp không trống.Nếu không thể so sánh các phần tử (ví dụ: int với chuỗi) hoặc không có đối số nào được cung cấp thì sẽ xảy ra lỗi.
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

Thông số

Thông số Mô tả
key có thể gọi; hoặc None; giá trị mặc định là None
Một hàm không bắt buộc được áp dụng cho mỗi phần tử trước khi so sánh.
args bắt buộc
Các phần tử cần kiểm tra.

phút

unknown min(key=None, *args)

Trả về một đối số nhỏ nhất trong tất cả đối số đã cho. Nếu chỉ cung cấp một đối số vị trí, đối số đó phải là một đối số lặp không được trống. Lỗi sẽ xảy ra nếu các phần tử không thể so sánh được (ví dụ: int với chuỗi) hoặc nếu không có đối số nào được cung cấp.
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

Thông số

Thông số Mô tả
key có thể gọi; hoặc None; giá trị mặc định là None
Một hàm không bắt buộc được áp dụng cho mỗi phần tử trước khi so sánh.
args bắt buộc
Các phần tử cần kiểm tra.

in

None print(sep=" ", *args)

In args dưới dạng kết quả gỡ lỗi. Giá trị này sẽ bắt đầu bằng chuỗi "DEBUG" và vị trí (số tệp và số dòng) của lệnh gọi này. Cách chính xác để chuyển đổi đối số thành chuỗi chưa được chỉ định và có thể thay đổi bất cứ lúc nào. Cụ thể, định dạng này có thể khác với (và chi tiết hơn) định dạng do str()repr() thực hiện.

Bạn không nên sử dụng print trong mã phát hành công khai do mã này tạo ra nội dung rác cho người dùng. Đối với các tính năng không dùng nữa, hãy ưu tiên lỗi nghiêm trọng bằng cách sử dụng fail() bất cứ khi nào có thể.

Thông số

Thông số Mô tả
sep string; giá trị mặc định là " "
Chuỗi phân cách giữa các đối tượng, mặc định là dấu cách (" ").
args bắt buộc
Các đối tượng cần in.

phạm vi

sequence range(start_or_stop, stop_or_none=None, step=1)

Tạo một danh sách trong đó các mục chuyển từ start sang stop, sử dụng giá trị tăng step. Nếu cung cấp một đối số, các mục sẽ nằm trong khoảng từ 0 đến phần tử đó.
range(4) == [0, 1, 2, 3]
range(3, 9, 2) == [3, 5, 7]
range(3, 0, -1) == [3, 2, 1]

Thông số

Thông số Mô tả
start_or_stop int; bắt buộc
Giá trị của phần tử bắt đầu nếu bạn cung cấp giá trị dừng, nếu không giá trị của phần tử dừng và giá trị bắt đầu thực tế là 0
stop_or_none int; hoặc None; giá trị mặc định là None
chỉ mục không bắt buộc của mục đầu tiên không được đưa vào danh sách kết quả; việc tạo danh sách sẽ dừng trước khi đạt stop.
step int; giá trị mặc định là 1
Mức tăng (mặc định là 1). Thông tin này có thể mang âm tính.

repr

string repr(x)

Chuyển đổi bất kỳ đối tượng nào thành một giá trị biểu diễn dạng chuỗi. Điều này rất hữu ích khi gỡ lỗi.
repr("ab") == '"ab"'

Thông số

Thông số Mô tả
x bắt buộc
Đối tượng cần chuyển đổi.

đã đảo ngược

list reversed(sequence)

Trả về một danh sách mới, không được cố định, chứa các phần tử của chuỗi lặp lại ban đầu theo thứ tự đảo ngược.
reversed([3, 5, 4]) == [4, 5, 3]

Thông số

Thông số Mô tả
sequence có thể lặp lại; bắt buộc
Trình tự lặp lại (ví dụ: danh sách) cần được đảo ngược.

đã sắp xếp

list sorted(iterable, key=None, *, reverse=False)

Trả về một danh sách mới được sắp xếp chứa tất cả các phần tử của chuỗi lặp lại đã cung cấp. Lỗi có thể xảy ra nếu không thể so sánh bất kỳ cặp phần tử x, y nào bằng cách sử dụng x < y. Các phần tử được sắp xếp theo thứ tự tăng dần, trừ phi đối số đảo ngược là True, trong trường hợp này thứ tự sẽ là giảm dần. Cách sắp xếp ổn định: các phần tử so sánh bằng nhau sẽ giữ nguyên thứ tự tương đối ban đầu.
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

Thông số

Thông số Mô tả
iterable iterable; bắt buộc
Trình tự có thể lặp lại để sắp xếp.
key callable; hoặc None; mặc định là None
Một hàm không bắt buộc được áp dụng cho mỗi phần tử trước khi so sánh.
reverse bool; giá trị mặc định là False
Trả về kết quả theo thứ tự giảm dần.

str

string str(x)

Chuyển đổi bất kỳ đối tượng nào thành chuỗi. Điều này rất hữu ích khi gỡ lỗi.
str("ab") == "ab"
str(8) == "8"

Thông số

Thông số Mô tả
x bắt buộc
Đối tượng cần chuyển đổi.

bộ dữ liệu

tuple tuple(x=())

Trả về một bộ dữ liệu có cùng phần tử với giá trị có thể lặp lại đã cho.
tuple([1, 2]) == (1, 2)
tuple((2, 3, 2)) == (2, 3, 2)
tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)

Thông số

Thông số Mô tả
x iterable; mặc định là ()
Đối tượng cần chuyển đổi.

loại

string type(x)

Trả về tên loại của đối số. Điều này rất hữu ích khi gỡ lỗi và kiểm tra loại. Ví dụ:
type(2) == "int"
type([1]) == "list"
type(struct(a = 2)) == "struct"
Chức năng này có thể thay đổi trong tương lai. Để viết mã tương thích với Python và có thể sử dụng trong tương lai, hãy chỉ sử dụng mã này để so sánh các giá trị trả về:
if type(x) == type([]):  # if x is a list

Thông số

Thông số Mô tả
x bắt buộc
Đối tượng để kiểm tra loại.

zip

list zip(*args)

Trả về một list của tuple, trong đó cặp thứ i chứa phần tử thứ i từ mỗi trình tự đối số hoặc đối tượng có thể lặp lại. Danh sách này có kích thước của đầu vào ngắn nhất. Với một đối số có thể lặp lại, phương thức này sẽ trả về danh sách gồm 1 bộ dữ liệu. Nếu không có đối số, hàm này sẽ trả về một danh sách trống. Ví dụ:
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)]

Thông số

Thông số Mô tả
args danh sách
bắt buộc để nén.