Tất cả tệp Bazel

Báo cáo sự cố

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

Hội viên

abs

unknown abs(x)

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

Các tham số

Thông số Nội dung mô tả
x int; hoặc float; bắt buộc
Số (int hoặc số thực)

all

bool all(elements)

Trả về true nếu tất cả các phần tử được đánh giá là True hoặc nếu tập hợp 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

Các tham số

Thông số Nội dung 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 í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 hàm bool.
any([-1, 0, 1]) == True
any([False, 0, ""]) == False

Các tham số

Thông số Nội dung mô tả
elements bắt buộc
Một chuỗi hoặc một 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, hàm này sẽ trả về True.

Các tham số

Thông số Nội dung 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 xét đến sau các mục nhập được cung cấp qua đối số vị trí.

Các tham số

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

thư mục

list dir(x)

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

Các tham số

Thông số Nội dung 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ề danh sách các cặp (bộ giá trị hai phần tử), với chỉ mục (int) và mục từ chuỗi nhập.
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]

Các tham số

Thông số Nội dung mô tả
list trình tự đầu vào
bắt buộc.
start mặc định là chỉ mục bắt đầu 0
.

không thành công

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

Khiến quá trình thực thi không thành công do có lỗi.

Các tham số

Thông số Nội dung mô tả
msg giá trị mặc định là None
Không dùng nữa: hãy dùng đối số vị trí. Đối số này đóng vai trò như một đối số định vị hàng đầu ngầm ẩn.
attr string; hoặc None; mặc định là None
Không dùng nữa. Yêu cầu thêm tiền tố không bắt buộc chứa chuỗi này vào thông báo lỗi.
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à được liên kết bằng dấu cách sẽ xuất hiện trong thông báo lỗi.

float

float float(x=unbound)

Trả về x dưới dạng một giá trị số thực.
  • Nếu x đã là một số thực, float sẽ trả về giá trị không thay đổi.
  • Nếu x là giá trị bool, thì float sẽ trả về 1,0 cho giá trị True và 0,0 cho giá trị 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 cho x hoặc lỗi nếu độ lớn quá lớn.
  • Nếu x là một chuỗi, thì giá trị này phải là một giá trị cố định dấu phẩy động hợp lệ hoặc bằng (không phân biệt chữ hoa chữ thường) với NaN, Inf hoặc Infinity, đứng sau dấu + hoặc - (không bắt buộc).
Mọi giá trị khác đều gây ra lỗi. Không có đối số, float() trả về 0.0.

Các tham số

Thông số Nội dung 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ủa tên cho trước nếu có. Nếu không, thao tác 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")

Các tham số

Thông số Nội dung mô tả
x bắt buộc
Cấu trúc có thuộc tính được truy cập.
name bắt buộc
Tên của thuộc tính cấu trúc.
default mặc định là unbound
Giá trị mặc định cần 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")

Các tham số

Thông số Nội dung mô tả
x bắt buộc
Đối tượng cần kiểm tra.
name 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. Điều này được tính toán dựa trên thuật toán tương tự như String.hashCode() của Java, cụ thể là:
s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]
Việc băm các giá trị bên cạnh chuỗi hiện chưa được hỗ trợ.

Các tham số

Thông số Nội dung mô tả
value bắt buộc
Giá trị chuỗi cần 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, int sẽ trả về giá trị này không thay đổi.
  • Nếu x là giá trị bool, thì int sẽ trả về 1 cho giá trị True và 0 cho giá trị False.
  • Nếu x là một chuỗi, thì chuỗi đó phải có định dạng <sign><prefix><digits>. <sign> có giá trị "+", "-" hoặc trống (được hiểu là dương). <digits> là một chuỗi các 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ố từ 10 đến 35. Trong trường hợp base là 2/8/16, <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 là 0, chuỗi được hiểu là một giá trị cố định số nguyên, theo nghĩa là một trong các cơ số 2/8/10/16 được chọn tùy thuộc vào tiền tố nào được sử dụng. Nếu base là 0, 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 bát phân và số thập phân. Độ lớn của số mà chuỗi biểu thị phải nằm trong phạm vi cho phép đối với kiểu số nguyên.
  • Nếu x là số thực, int sẽ trả về giá trị số nguyên của số thực, làm tròn về 0. Đó là một lỗi nếu x là không hữu hạn (NaN hoặc vô hạn).
Hàm này sẽ không thành công nếu x thuộc loại 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 các đối số 0 cũng như 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

Các tham số

Thông số Nội dung 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ị cố định số nguyên. Không được cung cấp tham 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, chuỗi (chẳng hạn như danh sách hoặc bộ dữ liệu), dict hoặc đối tượng có thể lặp lại khác.

Các tham số

Thông số Nội dung 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ị 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]

Các tham số

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

tối đa

unknown max(*args)

Trả về một đối số lớn nhất trong tất cả đối số đã cho. Nếu chỉ có một đối số được cung cấp, thì đối số đó phải là một đối số không thể trống.Đây sẽ là lỗi nếu các phần tử không so sánh được (ví dụ: số nguyên với chuỗi) hoặc nếu không có đối số nào được cung cấp.
max(2, 5, 4) == 5
max([5, 6, 3]) == 6

Các tham số

Thông số Nội dung mô tả
args bắt buộc
Các yếu tố cần kiểm tra.

phút

unknown min(*args)

Trả về một đối số nhỏ nhất trong số tất cả đối số đã cho. Nếu chỉ cung cấp một đối số, đối số đó phải là một đối số không thể trống. Đó là lỗi nếu các phần tử không 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

Các tham số

Thông số Nội dung mô tả
args bắt buộc
Các yếu tố cần kiểm tra.

in

None print(sep=" ", *args)

In args dưới dạng kết quả gỡ lỗi. Chuỗi này sẽ có tiền tố là chuỗi "DEBUG" và vị trí (tệp và số dòng) của lệnh gọi này. Cách chính xác để chuyển đổi các đố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à 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 chính thức do mã này tạo ra nội dung rác cho người dùng. Đối với những trường hợp không dùng nữa, hãy ưu tiên lỗi cứng bằng cách sử dụng fail() bất cứ khi nào có thể.

Các tham số

Thông số Nội dung mô tả
sep mặc định là " "
Chuỗi dòng 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 gồm các mục đi từ start đến stop, sử dụng số gia step. Nếu bạn cung cấp một đối số duy nhất, 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]

Các tham số

Thông số Nội dung mô tả
start_or_stop bắt buộc
Giá trị của phần tử bắt đầu nếu cung cấp điểm dừng, nếu không thì giá trị của điểm dừng và điểm bắt đầu thực tế là 0
stop_or_none int; hoặc None; 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 đến stop.
step mặc định là 1
Giá trị tăng (mặc định là 1). Giá trị này có thể mang giá trị âm.

lặp lại

string repr(x)

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

Các tham số

Thông số Nội dung 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]

Các tham số

Thông số Nội dung mô tả
sequence bắt buộc
Trình tự có thể 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ề danh sách đã sắp xếp mới chứa tất cả phần tử của trình tự 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ố ngược là True. Trong trường hợp này, thứ tự sẽ giảm dần. Sắp xếp ổn định: các phần tử so sánh ngang nhau vẫn giữ thứ tự tương đối ban đầu.
sorted([3, 5, 4]) == [3, 4, 5]

Các tham số

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

str

string str(x)

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

Các tham số

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

tuple

tuple tuple(x=())

Trả về một bộ dữ liệu có cùng phần tử với giá trị 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)

Các tham số

Thông số Nội dung mô tả
x 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ố. Việc 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à phù hợp với tương lai, 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

Các tham số

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

zip

list zip(*args)

Trả về list của tuple, trong đó bộ dữ liệu 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 có kích thước của dữ liệu đầu vào ngắn nhất. Với một đối số có thể lặp lại, hàm 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)]

Các tham số

Thông số Nội dung mô tả
args bắt buộc
để nén.