ไฟล์ Bazel ทั้งหมด

รายงานปัญหา

เมธอดที่มีให้ในไฟล์ Bazel ทั้งหมด รวมถึงไฟล์ .bzl, BUILD, MODULE.bazel และ WORKSPACE

สมาชิก

abs

unknown abs(x)

แสดงผลค่าสัมบูรณ์ของจำนวน (จำนวนที่ไม่เป็นลบที่มีขนาดเท่ากัน)
abs(-2.3) == 2.3

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
x int หรือ float ต้องระบุ
ตัวเลข (int หรือ Float)

ทั้งหมด

bool all(elements)

แสดงผลเป็น "จริง" หากองค์ประกอบทั้งหมดประเมินเป็น "จริง" หรือหากคอลเล็กชันว่างเปล่า ระบบจะแปลงองค์ประกอบเป็นบูลีนโดยใช้ฟังก์ชัน bool
all(["hello", 3, True]) == True
all([-1, 0, 1]) == False

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
elements ต้องระบุ
สตริงหรือคอลเล็กชันขององค์ประกอบ

อะไรก็ได้

bool any(elements)

แสดงค่า "จริง" หากองค์ประกอบอย่างน้อย 1 องค์ประกอบประเมินค่าเป็น "จริง" ระบบจะแปลงองค์ประกอบเป็นบูลีนโดยใช้ฟังก์ชัน bool
any([-1, 0, 1]) == True
any([False, 0, ""]) == False

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
elements ต้องระบุ
สตริงหรือคอลเล็กชันขององค์ประกอบ

bool

bool bool(x=False)

ตัวสร้างสำหรับประเภทบูลีน และแสดงผล False หากออบเจ็กต์คือ None, False, สตริงว่าง (""), หมายเลข 0 หรือคอลเล็กชันที่ว่างเปล่า (เช่น (), []) มิเช่นนั้นจะแสดงผล True

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
x ค่าเริ่มต้นคือ False
ตัวแปรที่จะแปลง

dict

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

สร้างพจนานุกรมจากอาร์กิวเมนต์ตำแหน่งซึ่งไม่บังคับ และชุดอาร์กิวเมนต์คีย์เวิร์ดซึ่งจะมีหรือไม่ก็ได้ ในกรณีที่มีการระบุคีย์เดียวกันหลายครั้ง ระบบจะใช้ค่าสุดท้าย ระบบจะถือว่ารายการที่ระบุผ่านอาร์กิวเมนต์คีย์เวิร์ดอยู่ต่อจากรายการที่ป้อนผ่านอาร์กิวเมนต์ตำแหน่ง

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
pairs ค่าเริ่มต้นคือ []
คำสั่งหรือการค้นหาซ้ำซึ่งมีองค์ประกอบที่มีความยาวแต่ละองค์ประกอบเป็น 2 (คีย์, ค่า)
kwargs ต้องระบุ
พจนานุกรมของรายการเพิ่มเติม

ไดเรกทอรี

list dir(x)

แสดงรายการสตริง: ชื่อแอตทริบิวต์และเมธอดของออบเจ็กต์พารามิเตอร์

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
x ต้องระบุ
ออบเจ็กต์ที่จะตรวจสอบ

แจกแจง

list enumerate(list, start=0)

แสดงรายการคู่ (Tuples สององค์ประกอบ) พร้อมดัชนี (int) และรายการจากลำดับอินพุต
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
list ต้องระบุ
ลำดับอินพุต
start ค่าเริ่มต้นคือ 0
ดัชนีเริ่มต้น

ไม่ผ่าน

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

ทำให้การดำเนินการล้มเหลวโดยมีข้อผิดพลาด

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
msg ค่าเริ่มต้นคือ None
เลิกใช้งานแล้ว: ใช้อาร์กิวเมนต์ตำแหน่งแทน อาร์กิวเมนต์นี้ทำหน้าที่เหมือนอาร์กิวเมนต์ตำแหน่งนำหน้าโดยนัย
attr string หรือ None ค่าเริ่มต้นคือ None
เลิกใช้งานแล้ว ทำให้มีการเพิ่มคำนำหน้าที่ไม่บังคับซึ่งมีสตริงนี้ในข้อความแสดงข้อผิดพลาด
args ต้องระบุ
รายการค่าที่จัดรูปแบบด้วย debugPrint (ซึ่งเทียบเท่ากับ str โดยค่าเริ่มต้น) และผนวกด้วยการเว้นวรรคที่ปรากฏในข้อความแสดงข้อผิดพลาด

float

float float(x=unbound)

แสดง x เป็นค่าทศนิยม
  • หาก x เป็นแบบลอยอยู่แล้ว float จะแสดงผลค่าดังกล่าวโดยไม่เปลี่ยนแปลง
  • หาก x เป็นบูลีน float จะแสดงผล 1.0 สำหรับ True และ 0.0 สำหรับ False
  • หาก x เป็น int float จะแสดงผลค่าจุดลอยตัวจำกัดที่ใกล้ที่สุดเป็น x หรือแสดงข้อผิดพลาดหากขนาดใหญ่เกินไป
  • หาก x เป็นสตริง ค่าจะต้องเป็นลิเทอรัลจุดลอยตัวที่ถูกต้อง หรือเท่ากัน (ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) ถึง NaN, Inf หรือ Infinity โดยจะนำหน้าด้วยเครื่องหมาย + หรือ - ก็ได้
ค่าอื่นๆ จะทำให้เกิดข้อผิดพลาด เมื่อไม่มีอาร์กิวเมนต์ float() จะแสดงผล 0.0

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
x ค่าเริ่มต้นคือ unbound
ค่าที่จะแปลง

Getattr

unknown getattr(x, name, default=unbound)

แสดงผลฟิลด์ของโครงสร้างของชื่อที่ระบุ (หากมี) ไม่เช่นนั้นก็จะแสดงผล default (หากระบุไว้) หรือเกิดข้อผิดพลาด getattr(x, "foobar") เทียบเท่ากับ x.foobar
getattr(ctx.attr, "myattr")
getattr(ctx.attr, "myattr", "mydefault")

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
x ต้องระบุ
โครงสร้างที่มีการเข้าถึงแอตทริบิวต์
name ต้องระบุ
ชื่อของแอตทริบิวต์ Struct
default ค่าเริ่มต้นคือ unbound
ค่าเริ่มต้นที่จะแสดงในกรณีที่โครงสร้างไม่มีแอตทริบิวต์ของชื่อที่ระบุ

Hasattr

bool hasattr(x, name)

แสดงผลเป็น "จริง" หากออบเจ็กต์ x มีแอตทริบิวต์หรือเมธอดของ name ที่ระบุ มิเช่นนั้นจะเป็น "เท็จ" ตัวอย่าง
hasattr(ctx.attr, "myattr")

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
x ต้องระบุ
ออบเจ็กต์ที่จะตรวจสอบ
name ต้องระบุ
ชื่อของแอตทริบิวต์

แฮช

int hash(value)

แสดงผลค่าแฮชสำหรับสตริง ซึ่งจะคำนวณโดยใช้อัลกอริทึมเดียวกับ String.hashCode() ของ Java กล่าวคือ
s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]
ขณะนี้ระบบยังไม่รองรับการแฮชค่านอกเหนือจากสตริง

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
value ต้องระบุ
ค่าสตริงเพื่อแฮช

int

int int(x, base=unbound)

แสดง x เป็นค่า int
  • หาก x เป็น int อยู่แล้ว int จะแสดงผลค่าไม่เปลี่ยนแปลง
  • หาก x เป็นบูลีน int จะแสดงผล 1 สำหรับ "จริง" และ 0 สำหรับ "เท็จ"
  • หาก x เป็นสตริง ต้องอยู่ในรูปแบบ <sign><prefix><digits> <sign> เป็น "+", "-" หรือว่างเปล่า (ตีความว่าเป็นเชิงบวก) <digits> คือชุดตัวเลขตั้งแต่ 0 ถึง base - 1 โดยตัวอักษร a-z (หรือเทียบเท่า A-Z) จะใช้เป็นตัวเลข 10-35 ในกรณีที่ base คือ 8/2/16 จะมี <prefix> หรือไม่ก็ได้ และอาจเป็น 0b/0o/0x (หรือเทียบเท่า 0B/0O/0X) ตามลำดับ หาก base เป็นค่าอื่นใดนอกเหนือจากฐานเหล่านี้หรือค่าพิเศษ 0 คำนำหน้าจะต้องว่างเปล่า ในกรณีที่ base เป็น 0 ระบบจะตีความสตริงเป็นจำนวนเต็มลิเทอรัล เมื่อมีการเลือกฐาน 2/8/10/16 ตัวใดตัวหนึ่งโดยขึ้นอยู่กับคำนำหน้าว่ามีการใช้ค่าใด หาก base เป็น 0 จะไม่มีการใช้คำนำหน้าและมีมากกว่า 1 หลัก ตัวเลขนำหน้าก็จะเป็น 0 ไม่ได้ ทั้งนี้เพื่อหลีกเลี่ยงความสับสนระหว่างเลขฐานแปดและฐานสิบ ขนาดของจำนวนที่แสดงโดยสตริงต้องอยู่ภายในช่วงที่อนุญาตของประเภท int
  • หาก x เป็นแบบลอย int จะแสดงผลค่าจำนวนเต็มของแบบลอยโดยปัดเศษเป็น 0 หาก x เป็นค่าอนันต์ (NaN หรือค่าอนันต์) ระบบจะแสดงข้อผิดพลาด
ฟังก์ชันนี้จะใช้งานไม่ได้หาก x เป็นประเภทประเภทอื่น หรือหากค่าเป็นสตริงที่ไม่ตรงกับรูปแบบข้างต้น ฟังก์ชันนี้ต่างจากฟังก์ชัน int ของ Python ตรงที่ไม่อนุญาตให้ใช้อาร์กิวเมนต์ 0 และไม่อนุญาตให้ใช้ช่องว่างที่เกินมาสำหรับอาร์กิวเมนต์สตริง

ตัวอย่าง:

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
x ต้องระบุ
สตริงที่จะแปลง
base ค่าเริ่มต้นคือ unbound
ฐานที่ใช้ในการแปลค่าสตริง มีค่าเริ่มต้นเป็น 10 ต้องอยู่ระหว่าง 2 ถึง 36 (รวม) หรือ 0 เพื่อตรวจจับฐานเสมือนว่า x เป็นจำนวนเต็มลิเทอรัล ต้องระบุพารามิเตอร์นี้หากค่าไม่ใช่สตริง

len

int len(x)

แสดงผลความยาวของสตริง ลำดับ (เช่น รายการหรือ Tuple), dict หรือทำซ้ำอื่นๆ ได้

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
x ต้องระบุ
ค่าที่มีความยาวที่จะรายงาน

ลิสต์

list list(x=[])

แสดงรายการใหม่ที่มีองค์ประกอบเดียวกับค่าที่ทำซ้ำได้
list([1, 2]) == [1, 2]
list((2, 3, 2)) == [2, 3, 2]
list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
x ค่าเริ่มต้นคือ []
ออบเจ็กต์ที่จะแปลง

สูงสุด

unknown max(*args)

แสดงผลอาร์กิวเมนต์ที่ใหญ่ที่สุดทั้งหมดที่ระบุ หากระบุอาร์กิวเมนต์เพียงรายการเดียว อาร์กิวเมนต์นั้นต้องเป็นอาร์กิวเมนต์ที่ไม่ว่างเปล่า ข้อผิดพลาดนั้นจะเป็นข้อผิดพลาดหากองค์ประกอบไม่สามารถเปรียบเทียบกันได้ (เช่น int ที่มีสตริง) หรือหากไม่มีการให้อาร์กิวเมนต์
max(2, 5, 4) == 5
max([5, 6, 3]) == 6

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
args จำเป็น
องค์ประกอบที่ต้องตรวจสอบ

นาที

unknown min(*args)

แสดงผลอาร์กิวเมนต์ที่เล็กที่สุดในบรรดาอาร์กิวเมนต์ที่ระบุทั้งหมด หากมีเพียงอาร์กิวเมนต์เดียว อาร์กิวเมนต์นั้นต้องเป็นอาร์กิวเมนต์ที่เว้นว่างไม่ได้ ระบบจะแสดงข้อผิดพลาดหากองค์ประกอบไม่สามารถเปรียบเทียบกันได้ (เช่น int ที่มีสตริง) หรือหากไม่มีการให้อาร์กิวเมนต์
min(2, 5, 4) == 2
min([5, 6, 3]) == 3

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
args จำเป็น
องค์ประกอบที่ต้องตรวจสอบ

พิมพ์

None print(sep=" ", *args)

พิมพ์ args เป็นเอาต์พุตการแก้ไขข้อบกพร่อง ซึ่งจะนำหน้าด้วยสตริง "DEBUG" และตำแหน่ง (ไฟล์และหมายเลขบรรทัด) ของการโทรนี้ ไม่มีการระบุวิธีแปลงอาร์กิวเมนต์เป็นสตริงโดยละเอียดและอาจเปลี่ยนแปลงได้ตลอดเวลา โดยเฉพาะอย่างยิ่ง อาจแตกต่างจาก (และมีรายละเอียดมากกว่า) การจัดรูปแบบที่ str() และ repr() ทำ

เราไม่แนะนำให้ใช้ print ในโค้ดเวอร์ชันที่ใช้งานจริงเนื่องจากสแปมที่โค้ดสร้างขึ้นสำหรับผู้ใช้ สำหรับการเลิกใช้งาน คุณควรระบุข้อผิดพลาดถาวรโดยใช้ fail() เมื่อเป็นไปได้

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sep ค่าเริ่มต้นคือ " "
สตริงตัวคั่นระหว่างออบเจ็กต์ ค่าเริ่มต้นคือเว้นวรรค (" ")
args จำเป็น
ออบเจ็กต์ที่จะพิมพ์

ช่วง

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

สร้างรายการที่แสดงรายการจาก start ไปยัง stop โดยเพิ่มขึ้นทีละ step หากระบุอาร์กิวเมนต์เดียว รายการจะมีช่วงตั้งแต่ 0 ถึงองค์ประกอบนั้น
range(4) == [0, 1, 2, 3]
range(3, 9, 2) == [3, 5, 7]
range(3, 0, -1) == [3, 2, 1]

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
start_or_stop ต้องระบุ
ค่าขององค์ประกอบเริ่มต้นหากมีการระบุการหยุด มิฉะนั้น ค่าของการหยุด และจุดเริ่มต้นตามจริงจะเป็น 0
stop_or_none int หรือ None ค่าเริ่มต้นคือ None
ดัชนีที่ไม่บังคับของรายการแรกไม่ที่จะรวมอยู่ในรายการผลลัพธ์ การสร้างรายการจะหยุดก่อนที่จะถึง stop
step ค่าเริ่มต้นคือ 1
ส่วนที่เพิ่มขึ้น (ค่าเริ่มต้นคือ 1) อาจเป็นค่าลบ

repr

string repr(x)

แปลงออบเจ็กต์ใดๆ ให้เป็นตัวแทนสตริง ซึ่งเป็นประโยชน์ในการแก้ไขข้อบกพร่อง
repr("ab") == '"ab"'

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
x ต้องระบุ
ออบเจ็กต์ที่จะแปลง

ย้อนกลับ

list reversed(sequence)

แสดงรายการใหม่ที่ไม่ได้ตรึงไว้ซึ่งมีองค์ประกอบของลำดับที่ทำซ้ำเดิมได้ในลำดับที่กลับกัน
reversed([3, 5, 4]) == [4, 5, 3]

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sequence ต้องระบุ
ลำดับที่ทำซ้ำได้ (เช่น รายการ) ที่จะย้อนกลับ

เรียงลำดับแล้ว

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

แสดงรายการที่จัดเรียงรายการใหม่ซึ่งมีองค์ประกอบทั้งหมดของลำดับที่ทำซ้ำได้ที่ระบุ เกิดข้อผิดพลาดหากระบบไม่สามารถเปรียบเทียบองค์ประกอบ x, y ด้วย x < y องค์ประกอบจะได้รับการจัดเรียงจากน้อยไปมาก เว้นแต่อาร์กิวเมนต์แบบย้อนกลับจะเป็น True ซึ่งในกรณีนี้ จะเรียงลำดับจากมากไปน้อย การจัดเรียงมีความเสถียร: องค์ประกอบที่เปรียบเทียบเท่ากันจะรักษาลำดับสัมพัทธ์เดิมไว้
sorted([3, 5, 4]) == [3, 4, 5]

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
iterable ต้องระบุ
ลำดับที่ทำซ้ำเพื่อจัดเรียงได้
key ค่าเริ่มต้นคือ None
ฟังก์ชันที่ไม่บังคับที่ใช้กับแต่ละองค์ประกอบก่อนการเปรียบเทียบ
reverse ค่าเริ่มต้นคือ False
แสดงผลการค้นหาตามลำดับจากมากไปน้อย

str

string str(x)

แปลงออบเจ็กต์ใดๆ ให้เป็นสตริง ซึ่งเป็นประโยชน์ในการแก้ไขข้อบกพร่อง
str("ab") == "ab"
str(8) == "8"

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
x ต้องระบุ
ออบเจ็กต์ที่จะแปลง

tuple

tuple tuple(x=())

แสดงผล Tuple ที่มีองค์ประกอบเดียวกับค่าที่ทำซ้ำได้
tuple([1, 2]) == (1, 2)
tuple((2, 3, 2)) == (2, 3, 2)
tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
x ค่าเริ่มต้นคือ ()
ออบเจ็กต์ที่จะแปลง

ประเภท

string type(x)

แสดงผลชื่อประเภทของอาร์กิวเมนต์ ซึ่งมีประโยชน์สำหรับการแก้ไขข้อบกพร่องและการตรวจสอบการพิมพ์ ตัวอย่าง
type(2) == "int"
type([1]) == "list"
type(struct(a = 2)) == "struct"
ฟังก์ชันนี้อาจเปลี่ยนแปลงในอนาคต หากต้องการเขียนโค้ดที่ใช้ร่วมกับ Python ได้และเพื่อให้ใช้งานได้ในอนาคต ให้ใช้โค้ดดังกล่าวเพื่อเปรียบเทียบค่าที่แสดง ดังนี้
if type(x) == type([]):  # if x is a list

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
x ต้องระบุ
ออบเจ็กต์ที่จะตรวจสอบประเภท

zip

list zip(*args)

แสดงผล list ของ tuple โดยที่ Tuple i-th มีองค์ประกอบ i จากลำดับอาร์กิวเมนต์หรือแบบวนซ้ำแต่ละรายการ รายการจะมีขนาดของอินพุตที่สั้นที่สุด ด้วยอาร์กิวเมนต์ที่ทำซ้ำได้เดี่ยว ระบบจะแสดงรายการ 1-tuples เมื่อไม่มีอาร์กิวเมนต์ ระบบจะแสดงรายการที่ว่างเปล่า ตัวอย่าง:
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)]

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
args รายการที่
จำเป็นต้องบีบอัด