Semua file Bazel

Laporkan masalah Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Metode yang tersedia di semua file Bazel, termasuk file .bzl, BUILD, MODULE.bazel, VENDOR.bazel, dan WORKSPACE.

Anggota

abs

unknown abs(x)

Menampilkan nilai absolut dari suatu angka (angka non-negatif dengan magnitudo yang sama).
abs(-2.3) == 2.3

Parameter

Parameter Deskripsi
x int; atau float; wajib
Angka (int atau float)

semua

bool all(elements)

Menampilkan true jika semua elemen bernilai True atau jika koleksi kosong. Elemen dikonversi menjadi boolean menggunakan fungsi bool.
all(["hello", 3, True]) == True
all([-1, 0, 1]) == False

Parameter

Parameter Deskripsi
elements required
String atau kumpulan elemen.

apa pun

bool any(elements)

Menampilkan true jika setidaknya satu elemen dievaluasi ke True. Elemen dikonversi menjadi boolean menggunakan fungsi bool.
any([-1, 0, 1]) == True
any([False, 0, ""]) == False

Parameter

Parameter Deskripsi
elements required
String atau kumpulan elemen.

bool

bool bool(x=False)

Konstruktor untuk jenis bool. Fungsi ini menampilkan False jika objeknya adalah None, False, string kosong (""), angka 0, atau koleksi kosong (misalnya, (), []). Jika tidak, fungsi ini akan menampilkan True.

Parameter

Parameter Deskripsi
x default adalah False
Variabel yang akan dikonversi.

dict

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

Membuat kamus dari argumen posisi opsional dan kumpulan argumen kata kunci opsional. Jika kunci yang sama diberikan beberapa kali, nilai terakhir akan digunakan. Entri yang diberikan melalui argumen kata kunci dianggap muncul setelah entri yang diberikan melalui argumen posisional.

Parameter

Parameter Deskripsi
pairs default adalah []
Dict, atau iterable yang setiap elemennya memiliki panjang 2 (kunci, nilai).
kwargs required
Kamus entri tambahan.

dir

list dir(x)

Menampilkan daftar string: nama atribut dan metode objek parameter.

Parameter

Parameter Deskripsi
x required
Objek yang akan diperiksa.

menghitung

list enumerate(list, start=0)

Menampilkan daftar pasangan (tuple dua elemen), dengan indeks (int) dan item dari urutan input.
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]

Parameter

Parameter Deskripsi
list urutan input
yang diperlukan.
start int; defaultnya adalah indeks awal 0
.

fail

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

Menyebabkan eksekusi gagal dengan error.

Parameter

Parameter Deskripsi
msg default adalah None
Tidak digunakan lagi: gunakan argumen posisional. Argumen ini berfungsi seperti argumen posisional utama implisit.
attr string; atau None; defaultnya adalah None
Tidak digunakan lagi. Menyebabkan awalan opsional yang berisi string ini ditambahkan ke pesan error.
sep string; default adalah " "
String pemisah di antara objek, defaultnya adalah spasi (" ").
args required
Daftar nilai, yang diformat dengan debugPrint (yang setara dengan str secara default) dan digabungkan dengan sep (defaultnya " "), yang muncul dalam pesan error.

float

float float(x=unbound)

Menampilkan x sebagai nilai float.
  • Jika x sudah berupa float, float akan menampilkannya tanpa perubahan.
  • Jika x adalah bool, float akan menampilkan 1,0 untuk Benar dan 0,0 untuk Salah.
  • Jika x adalah int, float akan menampilkan nilai floating point berhingga terdekat ke x, atau error jika nilainya terlalu besar.
  • Jika x adalah string, string tersebut harus berupa literal floating point yang valid, atau sama (mengabaikan huruf besar/kecil) dengan NaN, Inf, atau Infinity, yang secara opsional didahului dengan tanda + atau -.
Nilai lainnya akan menyebabkan error. Tanpa argumen, float() akan menampilkan 0,0.

Parameter

Parameter Deskripsi
x default adalah unbound
Nilai yang akan dikonversi.

getattr

unknown getattr(x, name, default=unbound)

Menampilkan kolom struct dari nama yang diberikan jika ada. Jika tidak, metode ini akan menampilkan default (jika ditentukan) atau menampilkan error. getattr(x, "foobar") setara dengan x.foobar.
getattr(ctx.attr, "myattr")
getattr(ctx.attr, "myattr", "mydefault")

Parameter

Parameter Deskripsi
x required
Struct yang atributnya diakses.
name string; required
Nama atribut struct.
default default adalah unbound
Nilai default yang akan ditampilkan jika struct tidak memiliki atribut dengan nama yang diberikan.

hasattr

bool hasattr(x, name)

Menampilkan True jika objek x memiliki atribut atau metode name yang diberikan, jika tidak, menampilkan False. Contoh:
hasattr(ctx.attr, "myattr")

Parameter

Parameter Deskripsi
x required
Objek yang akan diperiksa.
name string; required
Nama atribut.

hash

int hash(value)

Menampilkan nilai hash untuk string. Ini dihitung secara deterministik menggunakan algoritma yang sama dengan String.hashCode() Java, yaitu:
s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]
Hashing nilai selain string saat ini tidak didukung.

Parameter

Parameter Deskripsi
value string; wajib
Nilai string yang akan di-hash.

int

int int(x, base=unbound)

Menampilkan x sebagai nilai int.
  • Jika x sudah berupa int, int akan menampilkannya tanpa perubahan.
  • Jika x adalah boolean, int akan menampilkan 1 untuk Benar dan 0 untuk Salah.
  • Jika x adalah string, string tersebut harus memiliki format <sign><prefix><digits>. <sign> adalah "+", "-", atau kosong (ditafsirkan sebagai positif). <digits> adalah urutan angka dari 0 hingga base - 1, dengan huruf a-z (atau setara, A-Z) digunakan sebagai angka untuk 10-35. Jika base adalah 2/8/16, <prefix> bersifat opsional dan dapat berupa 0b/0o/0x (atau setara dengan 0B/0O/0X); jika base adalah nilai lain selain basis ini atau nilai khusus 0, awalan harus kosong. Jika base adalah 0, string akan ditafsirkan sebagai literal bilangan bulat, dalam arti bahwa salah satu basis 2/8/10/16 dipilih bergantung pada awalan yang digunakan. Jika base adalah 0, tidak ada awalan yang digunakan, dan ada lebih dari satu digit, digit pertama tidak boleh 0; ini untuk menghindari kebingungan antara oktal dan desimal. Besarnya angka yang direpresentasikan oleh string harus berada dalam rentang yang diizinkan untuk jenis int.
  • Jika x adalah float, int akan menampilkan nilai bilangan bulat dari float, yang dibulatkan ke nol. Error akan terjadi jika x tidak terbatas (NaN atau tak terhingga).
Fungsi ini gagal jika x adalah jenis lain, atau jika nilainya adalah string yang tidak memenuhi format di atas. Tidak seperti fungsi int Python, fungsi ini tidak mengizinkan argumen nol, dan tidak mengizinkan spasi kosong yang tidak relevan untuk argumen string.

Contoh:

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

Parameter

Parameter Deskripsi
x required
String yang akan dikonversi.
base default adalah unbound
Dasar yang digunakan untuk menafsirkan nilai string; defaultnya adalah 10. Harus antara 2 dan 36 (inklusif), atau 0 untuk mendeteksi basis seolah-olah x adalah literal bilangan bulat. Parameter ini tidak boleh diberikan jika nilainya bukan string.

len

int len(x)

Menampilkan panjang string, urutan (seperti daftar atau tuple), dict, set, atau iterabel lainnya.

Parameter

Parameter Deskripsi
x wajib
Nilai yang panjangnya akan dilaporkan.

list

list list(x=[])

Menampilkan daftar baru dengan elemen yang sama seperti nilai iterabel yang diberikan.
list([1, 2]) == [1, 2]
list((2, 3, 2)) == [2, 3, 2]
list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]

Parameter

Parameter Deskripsi
x iterable; default adalah []
Objek yang akan dikonversi.

maks

unknown max(key=None, *args)

Menampilkan argumen terbesar dari semua argumen yang diberikan. Jika hanya satu argumen posisional yang diberikan, argumen tersebut harus berupa iterable yang tidak kosong.Ini adalah error jika elemen tidak dapat dibandingkan (misalnya int dengan string), atau jika tidak ada argumen yang diberikan.
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

Parameter

Parameter Deskripsi
key callable; atau None; default adalah None
Fungsi opsional yang diterapkan ke setiap elemen sebelum perbandingan.
args required
Elemen yang akan diperiksa.

mnt

unknown min(key=None, *args)

Menampilkan argumen terkecil dari semua argumen yang diberikan. Jika hanya satu argumen posisional yang diberikan, argumen tersebut harus berupa iterable yang tidak kosong. Error akan terjadi jika elemen tidak dapat dibandingkan (misalnya int dengan string), atau jika tidak ada argumen yang diberikan.
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

Parameter

Parameter Deskripsi
key callable; atau None; default adalah None
Fungsi opsional yang diterapkan ke setiap elemen sebelum perbandingan.
args required
Elemen yang akan diperiksa.

cetak

None print(sep=" ", *args)

Mencetak args sebagai output debug. Ini akan diawali dengan string "DEBUG" dan lokasi (file dan nomor baris) panggilan ini. Cara persis argumen dikonversi menjadi string tidak ditentukan dan dapat berubah kapan saja. Secara khusus, format ini mungkin berbeda dari (dan lebih mendetail daripada) pemformatan yang dilakukan oleh str() dan repr().

Penggunaan print dalam kode produksi tidak dianjurkan karena spam yang dihasilkannya untuk pengguna. Untuk penghentian penggunaan, pilih error keras menggunakan fail() jika memungkinkan.

Parameter

Parameter Deskripsi
sep string; default adalah " "
String pemisah di antara objek, defaultnya adalah spasi (" ").
args required
Objek yang akan dicetak.

rentang

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

Membuat daftar dengan item yang berpindah dari start ke stop, menggunakan penambahan step. Jika satu argumen diberikan, item akan berkisar dari 0 hingga elemen tersebut.
range(4) == [0, 1, 2, 3]
range(3, 9, 2) == [3, 5, 7]
range(3, 0, -1) == [3, 2, 1]

Parameter

Parameter Deskripsi
start_or_stop int; required
Nilai elemen awal jika stop disediakan, jika tidak, nilai stop dan awal sebenarnya adalah 0
stop_or_none int; atau None; default adalah None
indeks opsional item pertama yang tidak akan disertakan dalam daftar yang dihasilkan; pembuatan daftar berhenti sebelum stop tercapai.
step int; defaultnya adalah 1
Penambahan (defaultnya adalah 1). Nilai ini mungkin negatif.

repr

string repr(x)

Mengonversi objek apa pun menjadi representasi string. Hal ini berguna untuk proses debug.
repr("ab") == '"ab"'

Parameter

Parameter Deskripsi
x wajib
Objek yang akan dikonversi.

dibalik

list reversed(sequence)

Menampilkan daftar baru yang tidak dibekukan yang berisi elemen urutan iterasi asli dalam urutan terbalik.
reversed([3, 5, 4]) == [4, 5, 3]

Parameter

Parameter Deskripsi
sequence iterable; required
Urutan iterable (misalnya, daftar) yang akan dibalik.

set

set set(elements=[])

Eksperimental. API ini bersifat eksperimental dan dapat berubah sewaktu-waktu. Jangan bergantung pada hal ini. Fitur ini dapat diaktifkan secara eksperimental dengan menetapkan --experimental_enable_starlark_set.

Membuat set baru, yang dapat diinisialisasi secara opsional untuk berisi elemen dari iterabel tertentu.

Parameter

Parameter Deskripsi
elements default adalah []
Set, urutan, atau dict.

diurutkan

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

Menampilkan daftar baru yang diurutkan yang berisi semua elemen urutan iterabel yang disediakan. Error dapat terjadi jika pasangan elemen x, y tidak dapat dibandingkan menggunakan x < y. Elemen diurutkan dalam urutan menaik, kecuali jika argumen reverse adalah True, dalam hal ini urutan akan menurun. Pengurutan stabil: elemen yang dibandingkan sama akan mempertahankan urutan relatif aslinya.
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

Parameter

Parameter Deskripsi
iterable iterable; required
Urutan iterable yang akan diurutkan.
key callable; atau None; default adalah None
Fungsi opsional yang diterapkan ke setiap elemen sebelum perbandingan.
reverse bool; default adalah False
Menampilkan hasil dalam urutan menurun.

str

string str(x)

Mengonversi objek apa pun menjadi string. Hal ini berguna untuk proses debug.
str("ab") == "ab"
str(8) == "8"

Parameter

Parameter Deskripsi
x wajib
Objek yang akan dikonversi.

tuple

tuple tuple(x=())

Menampilkan tuple dengan elemen yang sama seperti nilai iterabel yang diberikan.
tuple([1, 2]) == (1, 2)
tuple((2, 3, 2)) == (2, 3, 2)
tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)

Parameter

Parameter Deskripsi
x iterable; default adalah ()
Objek yang akan dikonversi.

jenis

string type(x)

Menampilkan nama jenis argumennya. Hal ini berguna untuk proses debug dan pemeriksaan jenis. Contoh:
type(2) == "int"
type([1]) == "list"
type(struct(a = 2)) == "struct"
Fungsi ini dapat berubah di masa mendatang. Untuk menulis kode yang kompatibel dengan Python dan tahan lama, gunakan hanya untuk membandingkan nilai yang ditampilkan:
if type(x) == type([]):  # if x is a list

Parameter

Parameter Deskripsi
x required
Objek yang akan diperiksa jenisnya.

zip

list zip(*args)

Menampilkan list dari tuple, dengan tuple ke-i berisi elemen ke-i dari setiap urutan argumen atau iterabel. Daftar memiliki ukuran input terpendek. Dengan satu argumen yang dapat di-iterasi, fungsi ini akan menampilkan daftar 1-tuple. Tanpa argumen, fungsi ini akan menampilkan daftar kosong. Contoh:
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)]

Parameter

Parameter Deskripsi
args daftar
yang diperlukan untuk di-zip.