Semua file Starlark

Laporkan masalah

Halaman ini berisi metode global yang tersedia di semua file Starlark, termasuk BUILD, WORKSPACE, MODULE.bazel, dan semua file .bzl.

Anggota

all

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 wajib
String atau kumpulan elemen.

Sembarang

bool any(elements)

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

Parameter

Parameter Deskripsi
elements wajib
String atau kumpulan elemen.

bool

bool bool(x=False)

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

Parameter

Parameter Deskripsi
x default = False
Variabel yang akan dikonversi.

Dikte

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 posisi.

Parameter

Parameter Deskripsi
pairs default = []
Sebuah dict, atau iterable yang elemennya masing-masing memiliki panjang 2 (kunci, nilai).
kwargs wajib
Kamus entri tambahan.

kotor

list dir(x)

Menampilkan daftar string: nama atribut dan metode objek parameter.

Parameter

Parameter Deskripsi
x wajib
Objek yang akan diperiksa.

enumerasi

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 = 0
indeks awal.

fail

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

Menyebabkan eksekusi gagal dan terdapat error.

Parameter

Parameter Deskripsi
msg default = None
Tidak digunakan lagi: sebagai gantinya, gunakan argumen posisi. Argumen ini bertindak seperti argumen posisi utama yang implisit.
attr string; or None; default = None
Tidak digunakan lagi. Menyebabkan awalan opsional yang berisi string ini yang akan ditambahkan ke pesan error.
args wajib
Daftar nilai, yang diformat dengan str dan digabungkan dengan spasi, yang muncul dalam pesan error.

float

float float(x=unbound)

Menampilkan x sebagai nilai float.
  • Jika x sudah menjadi float, float akan menampilkannya tanpa perubahan.
  • Jika x adalah bool, float akan menampilkan 1.0 untuk True dan 0.0 untuk False.
  • Jika x adalah int, float akan menampilkan nilai floating point terbatas hingga x, atau error jika magnitudo terlalu besar.
  • Jika x adalah string, string tersebut harus berupa literal floating point yang valid, atau sama dengan (mengabaikan huruf besar/kecil) dengan NaN, Inf, atau Infinity, dapat juga diawali dengan tanda + atau -.
Nilai lainnya menyebabkan error. Tanpa argumen, float() akan menampilkan 0,0.

Parameter

Parameter Deskripsi
x default = 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 wajib
Struktur yang atributnya diakses.
name wajib
Nama atribut struktur.
default default = unbound
Nilai default yang akan ditampilkan jika struct tidak memiliki atribut dari nama yang diberikan.

Hasattr

bool hasattr(x, name)

Menampilkan Benar jika objek x memiliki atribut atau metode dari name yang ditentukan, jika tidak, False. Contoh:
hasattr(ctx.attr, "myattr")

Parameter

Parameter Deskripsi
x wajib
Objek yang akan diperiksa.
name wajib
Nama atribut.

hash

int hash(value)

Tampilkan nilai hash untuk string. Hal ini dihitung secara deterministik menggunakan algoritme 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 diperlukan
Nilai string yang akan di-hash.

int

int int(x, base=unbound)

Menampilkan x sebagai nilai int.
  • Jika x sudah menjadi 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 (diinterpretasikan sebagai positif). <digits> adalah urutan digit dari 0 hingga base - 1, dengan huruf a-z (atau yang setara, A-Z) digunakan sebagai digit untuk 10-35. Jika base adalah 2/8/16, <prefix> bersifat opsional dan mungkin masing-masing 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 salah satu basis 2/8/10/16 dipilih, bergantung pada awalan mana yang digunakan. Jika base adalah 0, tidak ada awalan yang digunakan, dan ada lebih dari satu digit, digit pertama tidak boleh 0. Hal ini untuk menghindari kebingungan antara oktal dan desimal. Besarnya angka yang diwakili 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. Akan dianggap error jika x tidak terbatas (NaN atau tidak terbatas).
Fungsi ini akan gagal jika x adalah jenis lainnya, 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 wajib
String yang akan dikonversi.
base default = unbound
Basis yang digunakan untuk menafsirkan nilai string; defaultnya adalah 10. Harus di 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.

Lens

int len(x)

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

Parameter

Parameter Deskripsi
x wajib
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 default = []
Objek yang akan dikonversi.

maks.

unknown max(*args)

Menampilkan yang terbesar dari semua argumen yang diberikan. Jika hanya satu argumen yang disediakan, argumen harus berupa iterable yang tidak kosong.Merupakan error jika elemen tidak sebanding (misalnya int dengan string), atau jika tidak ada argumen yang diberikan.
max(2, 5, 4) == 5
max([5, 6, 3]) == 6

Parameter

Parameter Deskripsi
args wajib
Elemen yang akan diperiksa.

mnt

unknown min(*args)

Menampilkan yang terkecil dari semua argumen yang diberikan. Jika hanya satu argumen yang disediakan, argumen tersebut tidak boleh kosong. Hal ini merupakan 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

Parameter

Parameter Deskripsi
args wajib
Elemen yang akan diperiksa.

cetak

None print(sep=" ", *args)

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

Menggunakan print dalam kode produksi tidak disarankan karena spam yang dibuat untuk pengguna. Untuk penghentian penggunaan, pilih error yang sering terjadi menggunakan fail() jika memungkinkan.

Parameter

Parameter Deskripsi
sep default = " "
String pemisah antar-objek, default-nya adalah spasi (" ").
args diperlukan
Objek yang akan dicetak.

rentang

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

Membuat daftar tempat item diubah dari start menjadi 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 wajib
Nilai elemen awal jika perhentian diberikan, jika tidak, nilai perhentian dan awal yang sebenarnya adalah 0
stop_or_none int; or None; default = Tidak ada
indeks opsional item pertama yang tidak disertakan dalam daftar yang dihasilkan; pembuatan daftar akan dihentikan sebelum stop tercapai.
step default = 1
Kenaikan (defaultnya adalah 1). Nilai ini mungkin negatif.

Repr

string repr(x)

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

Parameter

Parameter Deskripsi
x wajib
Objek yang akan dikonversi.

balik

list reversed(sequence)

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

Parameter

Parameter Deskripsi
sequence wajib
Urutan iterable (misalnya daftar) akan dibalik.

diurutkan

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

Menampilkan daftar baru yang diurutkan yang berisi semua elemen urutan berulang yang disediakan. Kesalahan dapat terjadi jika pasangan elemen x, y tidak dapat dibandingkan menggunakan x < y. Elemen diurutkan ke dalam urutan menaik, kecuali jika argumennya adalah True, dalam hal ini urutannya menurun. Pengurutan bersifat stabil: elemen yang membandingkan sama dengan mempertahankan urutan relatif aslinya.
sorted([3, 5, 4]) == [3, 4, 5]

Parameter

Parameter Deskripsi
iterable wajib
Urutan iterasi yang dapat diurutkan.
key default = None
Fungsi opsional yang diterapkan pada setiap elemen sebelum perbandingan.
reverse default = False
Tampilkan hasil dalam urutan menurun.

STR

string str(x)

Mengonversi objek apa pun menjadi string. 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 dengan nilai iterable 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 default = ()
Objek yang akan dikonversi.

tipe

string type(x)

Menampilkan nama jenis argumennya. 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 tidak akan ketinggalan zaman, gunakan kode ini hanya untuk membandingkan nilai yang ditampilkan:
if type(x) == type([]):  # if x is a list

Parameter

Parameter Deskripsi
x wajib
Objek yang akan diperiksa jenisnya.

zip

list zip(*args)

Menampilkan list dari tuple, dengan tuple i-th berisi elemen i-th dari setiap urutan argumen atau iterable. Daftar ini memiliki ukuran input terpendek. Dengan satu argumen iterable, metode ini menampilkan daftar 1 tuple. Tanpa argumen, daftar kosong akan ditampilkan. 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 zip.