เมธอดที่ใช้ได้ในไฟล์ Bazel ทั้งหมด รวมถึงไฟล์ .bzl, BUILD, MODULE.bazel และ WORKSPACE
สมาชิก
- abs
- ทั้งหมด
- any
- bool
- dict
- dir
- enumerate
- fail
- float
- getattr
- hasattr
- hash
- int
- len
- list
- สูงสุด
- นาที
- ช่วง
- repr
- reversed
- จัดเรียง
- str
- tuple
- type
- zip
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(x=False)ตัวสร้างคอนสตรัคเตอร์สำหรับประเภทบูลีน โดยจะแสดงผล
False
หากออบเจ็กต์คือ None
, False
, สตริงว่าง (""
), หมายเลข 0
หรือคอลเล็กชันที่ว่างเปล่า (เช่น ()
, []
) มิเช่นนั้น จะแสดงผล True
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ค่าเริ่มต้นคือ False ตัวแปรที่จะแปลง |
dict
dict dict(pairs=[], **kwargs)สร้างพจนานุกรมจากอาร์กิวเมนต์ตำแหน่งที่ไม่บังคับและชุดอาร์กิวเมนต์คีย์เวิร์ดที่ไม่บังคับ ในกรณีที่มีการระบุคีย์เดียวกันหลายครั้ง ระบบจะใช้ค่าสุดท้าย ระบบจะถือว่ารายการที่ระบุผ่านอาร์กิวเมนต์คีย์เวิร์ดจะอยู่หลังรายการที่ระบุผ่านอาร์กิวเมนต์ตำแหน่ง
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
pairs
|
ค่าเริ่มต้นคือ [] Dict หรือรายการที่วนซ้ำได้ซึ่งมีองค์ประกอบแต่ละรายการมีความยาว 2 (คีย์ ค่า) |
kwargs
|
required คําจํากัดความของรายการเพิ่มเติม |
dir
list dir(x)แสดงรายการสตริง: ชื่อแอตทริบิวต์และเมธอดของออบเจ็กต์พารามิเตอร์
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ต้องระบุ ออบเจ็กต์ที่จะตรวจสอบ |
แจกแจง
list enumerate(list, start=0)แสดงรายการคู่ (ข้อมูล 2 องค์ประกอบ) พร้อมดัชนี (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(x=unbound)แสดงผล x เป็นค่าตัวเลขทศนิยม
- หาก
x
เป็นแบบลอยอยู่แล้วfloat
จะแสดงผลเป็นค่าที่ไม่เปลี่ยนแปลง - หาก
x
เป็นบูลีนfloat
จะแสดงผล 1.0 สำหรับ "จริง" และ 0.0 สำหรับ "เท็จ" - หาก
x
เป็น intfloat
จะแสดงผลค่าทศนิยมที่มีค่าจำกัดซึ่งใกล้เคียงที่สุดกับ x หรือแสดงข้อผิดพลาดหากค่าสัมบูรณ์มีขนาดใหญ่เกินไป - หาก
x
เป็นสตริง สตริงดังกล่าวจะต้องเป็นลิเทอรัลจุดลอยตัวที่ถูกต้อง หรือเท่ากับ (ไม่คำนึงถึงตัวพิมพ์ใหญ่/เล็ก) กับNaN
,Inf
หรือInfinity
โดยจะนำหน้าด้วยสัญลักษณ์+
หรือ-
หรือไม่ก็ได้
float()
จะแสดงผลเป็น 0.0
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ค่าเริ่มต้นคือ unbound ค่าที่จะแปลง |
getattr
unknown getattr(x, name, default=unbound)แสดงผลช่อง Struct ของชื่อที่ระบุ หากมี หากไม่ตรง ระบบจะแสดง
default
(หากระบุ) หรือทำให้เกิดข้อผิดพลาด getattr(x, "foobar")
มีค่าเท่ากับ x.foobar
getattr(ctx.attr, "myattr") getattr(ctx.attr, "myattr", "mydefault")
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ต้องระบุ โครงสร้างที่มีการเข้าถึงแอตทริบิวต์ |
name
|
ต้องระบุ ชื่อของแอตทริบิวต์โครงสร้าง |
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
เท่ากับ 2/8/16<prefix>
จะใส่หรือไม่ใส่ก็ได้ และอาจ 0b/0o/0x (หรือเทียบเท่า 0B/0O/0X) ตามลำดับ หากbase
เป็นค่าอื่นๆ นอกเหนือจากฐานเหล่านี้หรือค่าพิเศษ 0 คำนำหน้าต้องว่างเปล่า ในกรณีที่base
มีค่าเป็น 0 ระบบจะแปลสตริงเป็นจำนวนเต็มลิเทอรัล ในลักษณะที่มีการเลือกฐาน 2/8/10/16 อย่างใดอย่างหนึ่งโดยขึ้นอยู่กับคำนำหน้าที่มีการใช้ หากbase
เป็น 0 ระบบจะไม่ใช้คำนำหน้า และหากมีตัวเลขมากกว่า 1 ตัว ตัวเลขนำหน้าต้องไม่ใช่ 0 ทั้งนี้เพื่อไม่ให้เกิดความสับสนระหว่างฐาน 8 กับฐาน 10 ขนาดของตัวเลขที่แสดงโดยสตริงต้องอยู่ภายในช่วงที่อนุญาตสําหรับประเภท int - หาก
x
เป็นตัวเลขทศนิยมint
จะแสดงผลค่าจำนวนเต็มของตัวเลขทศนิยม โดยปัดเศษให้น้อยลง ระบบจะแสดงข้อผิดพลาดหาก x ไม่ใช่จำนวนจำกัด (NaN หรือ Infinity)
x
เป็นประเภทอื่น หรือหากค่าเป็นสตริงที่ไม่เป็นไปตามรูปแบบข้างต้น ฟังก์ชันนี้ไม่อนุญาตให้มีอาร์กิวเมนต์เป็น 0 และไม่อนุญาตให้มีการเว้นวรรคเกินความจำเป็นสําหรับอาร์กิวเมนต์สตริง ซึ่งต่างจากฟังก์ชัน int
ของ Pythonตัวอย่าง
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)แสดงผลความยาวของสตริง ลําดับ (เช่น รายการหรือทําเนียบ) พจนานุกรม หรือรายการอื่นๆ ที่วนซ้ำได้
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ต้องระบุ ค่าที่จะรายงานความยาว |
list
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)แสดงผลค่าที่ใหญ่ที่สุดของอาร์กิวเมนต์ทั้งหมดที่ระบุ หากมีการระบุอาร์กิวเมนต์เพียง 1 รายการ อาร์กิวเมนต์นั้นต้องไม่ว่างเปล่า โดยเป็นข้อผิดพลาดหากองค์ประกอบไม่สามารถเปรียบเทียบได้ (เช่น int ที่มีสตริง) หรือไม่ได้ระบุอาร์กิวเมนต์
max(2, 5, 4) == 5 max([5, 6, 3]) == 6
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
args
|
ต้องระบุ องค์ประกอบที่ต้องตรวจสอบ |
นาที
unknown min(*args)แสดงผลอาร์กิวเมนต์ที่น้อยที่สุดจากทั้งหมดที่ระบุ หากระบุอาร์กิวเมนต์เพียง 1 รายการ อาร์กิวเมนต์นั้นต้องไม่ว่างเปล่า ระบบจะแสดงข้อผิดพลาดหากองค์ประกอบไม่สามารถเปรียบเทียบกันได้ (เช่น 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 < ป. ระบบจะจัดเรียงองค์ประกอบตามลําดับจากน้อยไปมาก เว้นแต่อาร์กิวเมนต์ reverse จะเท่ากับ 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 ที่มีองค์ประกอบเดียวกันกับค่า "Iterable" ที่กำหนด
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 มีองค์ประกอบ i-th จากลำดับอาร์กิวเมนต์หรืออาร์กิวเมนต์ที่ทำซ้ำได้แต่ละรายการ รายการมีขนาดของอินพุตที่สั้นที่สุด ด้วยอาร์กิวเมนต์ที่ซ้ำกันได้เพียงรายการเดียว จะแสดงผลรายการ 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
|
รายการ ต้องระบุเพื่อใส่ไฟล์ ZIP |