Tất cả tệp Bazel

Báo cáo vấn đề Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

Hội viên

Giá trị tuyệt đối

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 có độ chính xác đơn)

tất cả

bool all(elements)

Trả về true nếu tất cả các phần tử đều đá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 giá trị 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ề giá trị true nếu ít nhất một phần tử đánh giá là True. Các phần tử được chuyển đổi thành giá trị boolean bằ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 một tập hợp các phần tử.

bool

bool bool(x=False)

Hàm khởi tạo cho kiểu 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 đố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 được cung cấp thông qua đối số từ khoá được coi là xuất hiện sau các mục đượ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 từ điển hoặc một đối tượng có thể lặp lại mà mỗi phần tử có độ dài là 2 (khoá, giá trị).
kwargs required
Từ điển gồm các mục bổ sung.

dir

list dir(x)

Trả về một 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 required
Đố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ộ gồm 2 phần tử), với chỉ mục (int) và mục từ chuỗi đầu vào.
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]

Thông số

Thông số Mô tả
list trình tự đầu vào bắt buộc
.
start 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)

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

Thông số

Thông số Mô tả
msg mặc định là None
Không được dùng nữa: thay vào đó, hãy sử dụng đối số vị trí. Đối số này hoạt động như một đối số vị trí dẫn đầu ngầm ẩn.
attr string; hoặc None; mặc định là None
Không được 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 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
Một 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 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 số thực, thì float sẽ trả về số đó mà không thay đổi.
  • Nếu x là một giá trị 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 với x hoặc một lỗi nếu độ lớn quá lớn.
  • Nếu x là một chuỗi, thì đó phải là một giá trị cố định hợp lệ kiểu số thực dấu phẩy động hoặc bằng (bỏ qua trường hợp) NaN, Inf hoặc Infinity, có thể có dấu + hoặc - ở phía trước.
Mọi giá trị khác đều gây ra lỗi. Nếu 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 trường đó tồn tại. 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 required
Tên của thuộc tính cấu trúc.
default mặc định là unbound
Giá trị mặc định sẽ được trả về trong trường hợp cấu trúc không có thuộc tính có 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 required
Đối tượng cần kiểm tra.
name required
Tên của thuộc tính.

hàm băm

int hash(value)

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

Thông số

Thông số Mô tả
value required
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, thì int sẽ trả về số nguyên đó mà không thay đổi.
  • Nếu x là một giá trị boolean, thì int sẽ trả về 1 cho True và 0 cho False.
  • Nếu x là một chuỗi, thì chuỗi đó phải có định dạng <sign><prefix><digits>. <sign>"+", "-" hoặc trống (được hiểu là khẳng định). <digits> là một chuỗi các chữ số từ 0 đến base – 1, trong đó các chữ cái a-z (hoặc tương đương, A-Z) được dùng làm chữ số cho 10-35. Trong trường hợp base là 2/8/16, <prefix> là không bắt buộc và có thể lần lượt là 0b/0o/0x (hoặc tương đương là 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 diễn giải dưới dạng một chữ số nguyên 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ếu có) được sử dụng. Nếu base là 0, thì không có tiền tố nào được dùng và nếu có nhiều chữ số, thì chữ số đầu tiên không thể là 0; điều này nhằm tránh nhầm lẫn giữa hệ cơ số 8 và hệ cơ số 10. Độ lớn của số được biểu thị bằng chuỗi phải nằm trong phạm vi cho phép đối với kiểu int.
  • Nếu x là một số thực, int sẽ trả về giá trị số nguyên của số thực đó, làm tròn về 0. Đây là lỗi nếu x không 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ỳ loại nào khác hoặc nếu giá trị là một chuỗi không đáp ứng định dạng nêu trên. Không giống như hàm int của Python, hàm này không cho phép có 0 đối số và không cho phép có 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 mặc định là unbound
Cơ sở dùng để diễn giải một giá trị chuỗi; mặc định là 10. Phải nằm trong khoảng từ 2 đến 36 (bao gồm cả 2 và 36) hoặc 0 để phát hiện cơ số như thể x là một ký tự số nguyên. Bạ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ộ), 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ần báo cáo độ dài.

danh sách

list list(x=[])

Trả về một danh sách mới có các phần tử giống như 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 mặc định là []
Đối tượng cần chuyển đổi.

tối đa

unknown max(key=None, *args)

Trả về giá trị lớn nhất trong số tất cả các đối số đã cho. Nếu chỉ có một đối số vị trí được cung cấp, thì đối số đó phải là một đối số có thể lặp lại không trống.Sẽ xảy ra lỗi nếu các phần tử không thể so sánh (ví dụ: số nguyên với chuỗi) hoặc nếu không có đối số nào được đưa ra.
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; mặc định là None
Một hàm không bắt buộc được áp dụng cho từng phần tử trước khi so sánh.
args required
Các phần tử cần kiểm tra.

phút

unknown min(key=None, *args)

Trả về giá trị nhỏ nhất trong số tất cả các đối số đã cho. Nếu chỉ có một đối số vị trí được cung cấp, thì đối số đó phải là một đối số có thể lặp lại không trống. Đây là lỗi nếu các phần tử không thể so sánh (ví dụ: số nguyên với chuỗi) hoặc nếu không có đối số nào được đưa ra.
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; mặc định là None
Một hàm không bắt buộc được áp dụng cho từng phần tử trước khi so sánh.
args required
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. Nó 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 mà các đối số được chuyển đổi thành chuỗi là không xác đị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) so với định dạng do str()repr() thực hiện.

Bạn không nên sử dụng print trong mã sản xuất vì mã này tạo ra nội dung rác cho người dùng. Đối với các trường hợp 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 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 required
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 có các mục từ start đến stop, sử dụng mức tăng step. Nếu bạn cung cấp một đối số duy nhất, các mục sẽ có phạm vi 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 required
Giá trị của phần tử bắt đầu nếu bạn cung cấp stop, nếu không thì giá trị của stop và giá trị 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ả; quá trình tạo danh sách sẽ dừng trước khi đạt đến stop.
step mặc định là 1
Mức tăng (mặc định là 1). Có thể là tiêu cực.

repr

string repr(x)

Chuyển đổi mọi đối tượng thành một giá trị đại diện 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 required
Đối tượng cần chuyển đổi.

đảo ngược

list reversed(sequence)

Trả về một danh sách mới, chưa cố định chứa các phần tử của chuỗi có thể 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 required
Trình tự có thể lặp lại (ví dụ: danh sách) cần đảo ngược.

đã sắp xếp

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

Trả về một danh sách được sắp xếp mới chứa tất cả các phần tử của chuỗi có thể lặp lại được cung cấp. Có thể xảy ra lỗi nếu bạn 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 đó, thứ tự sẽ là giảm dần. Sắp xếp ổn định: các phần tử so sánh bằng nhau vẫn 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 required
Trình tự có thể lặp lại để sắp xếp.
key có thể gọi; hoặc None; mặc định là None
Một hàm không bắt buộc đượ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 mọi đối tượng 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 required
Đối tượng cần chuyển đổi.

tuple

tuple tuple(x=())

Trả về một bộ có các phần tử giống như 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 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 cho việc gỡ lỗi và kiểm tra kiểu. 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à đảm bảo tính ổn định 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 required
Đối tượng cần kiểm tra loại.

zip

list zip(*args)

Trả về một list gồm các tuple, trong đó bộ i chứa phần tử thứ i từ mỗi chuỗi hoặc đối tượng có thể lặp lại của đối số. Danh sách có kích thước bằng 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 duy nhất, hàm này sẽ trả về một danh sách gồm các bộ 1. 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 bắt buộc
các danh sách vào tệp zip.