Semua file Bazel

. 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 sebuah angka (bilangan 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 ke 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 ke boolean menggunakan fungsi bool.
any([-1, 0, 1]) == True
any([False, 0, ""]) == False

Parameter

Parameter Deskripsi
elements wajib diisi
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 defaultnya 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 wajib
Kamus entri tambahan.

dir

list dir(x)

Menampilkan daftar string: nama atribut dan metode objek parameter.

Parameter

Parameter Deskripsi
x diperlukan
Objek yang akan diperiksa.

sebutkan

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 default 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 defaultnya adalah " "
String pemisah antar-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 terbatas yang terdekat dengan x, atau error jika magnitudonya terlalu besar.
  • Jika x adalah string, nilai tersebut harus berupa literal floating point yang valid, atau sama (mengabaikan huruf besar/kecil) dengan NaN, Inf, atau Infinity, secara opsional didahului dengan tanda + atau -.
Nilai lainnya akan menyebabkan error. Tanpa argumen, float() 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, tindakan tersebut akan menampilkan default (jika ditentukan) atau menyebabkan error. getattr(x, "foobar") setara dengan x.foobar.
getattr(ctx.attr, "myattr")
getattr(ctx.attr, "myattr", "mydefault")

Parameter

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

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 wajib
Nama atribut.

hash

int hash(value)

Menampilkan nilai hash untuk string. Hashing nilai ini dihitung secara deterministik menggunakan algoritma yang sama seperti 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 wajib
Nilai string yang akan di-hash.

int

int int(x, base=unbound)

Menampilkan x sebagai nilai int.
  • Jika x sudah merupakan 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 float, yang dibulatkan ke nol. Ini adalah kesalahan jika x tidak terbatas (NaN atau tak terhingga).
Fungsi ini akan gagal jika x adalah jenis lain, atau jika nilai 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 defaultnya adalah unbound
Basis 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, atau iterabel lainnya.

Parameter

Parameter Deskripsi
x required
Nilai yang panjangnya akan dilaporkan.

list

list list(x=[])

Menampilkan daftar baru dengan elemen yang sama dengan nilai iterable 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 defaultnya adalah []
Objek yang akan dikonversi.

maks

unknown max(key=None, *args)

Menampilkan salah satu 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. Akan muncul error jika elemen tidak sebanding (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 wajib ada
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 ke string tidak ditentukan dan dapat berubah kapan saja. Secara khusus, pemformatan ini mungkin berbeda dengan (dan lebih mendetail dibandingkan) 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 default adalah " "
String pemisah di antara objek, defaultnya adalah spasi (" ").
args diperlukan
Objek yang akan dicetak.

rentang

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

Membuat daftar tempat item 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 required
Nilai elemen awal jika stop disediakan, jika tidak, nilai stop dan awal sebenarnya adalah 0
stop_or_none int; atau None; default-nya adalah None
indeks opsional item pertama tidak yang akan disertakan dalam daftar yang dihasilkan; pembuatan daftar akan berhenti sebelum stop tercapai.
step default adalah 1
Penambahan (defaultnya adalah 1). 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 diperlukan
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 required
Urutan iterabel (misalnya, daftar) yang akan dibalik.

diurutkan

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

Menampilkan daftar baru yang diurutkan yang berisi semua elemen urutan iterable 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 required
Urutan yang dapat di-iterasi untuk diurutkan.
key callable; atau None; defaultnya adalah None
Fungsi opsional yang diterapkan pada setiap elemen sebelum perbandingan.
reverse defaultnya 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 diperlukan
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 defaultnya 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 mungkin berubah di masa mendatang. Untuk menulis kode yang kompatibel dengan Python dan membuatnya siap menghadapi masa depan, gunakan kode tersebut hanya untuk membandingkan nilai yang ditampilkan:
if type(x) == type([]):  # if x is a list

Parameter

Parameter Deskripsi
x diperlukan
Objek untuk 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 ke dalam zip.