attrs
ในพจนานุกรมของ rule()
และ aspect()
ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดและการใช้แอตทริบิวต์ได้ในหน้ากฎ
สมาชิก
- bool
- int
- int_list
- ป้ายกำกับ
- label_keyed_string_dict
- label_list
- เอาต์พุต
- output_list
- สตริง
- string_dict
- string_list
- string_list_dict
bool
Attribute attr.bool(default=False, doc=None, mandatory=False)สร้างสคีมาสำหรับแอตทริบิวต์บูลีน แอตทริบิวต์
ctx.attr
ที่เกี่ยวข้องจะเป็นประเภท bool
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
default
|
ค่าเริ่มต้นคือ False ค่าเริ่มต้นที่จะใช้หากไม่มีการระบุค่าสำหรับแอตทริบิวต์นี้เมื่อเริ่มต้นกฎ |
doc
|
string หรือ None
ค่าเริ่มต้นคือ None คำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารดึงออกมาได้ |
mandatory
|
ค่าเริ่มต้นคือ False หากเป็น "จริง" คุณต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
|
int
Attribute attr.int(default=0, doc=None, mandatory=False, values=[])สร้างสคีมาสำหรับแอตทริบิวต์จำนวนเต็ม ค่าต้องอยู่ในช่วง 32 บิตแบบมีเครื่องหมาย แอตทริบิวต์
ctx.attr
ที่เกี่ยวข้องจะเป็นประเภท int
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
default
|
ค่าเริ่มต้นคือ 0 ค่าเริ่มต้นที่จะใช้หากไม่มีการระบุค่าสำหรับแอตทริบิวต์นี้เมื่อเริ่มต้นกฎ |
doc
|
string หรือ None
ค่าเริ่มต้นคือ None คำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารดึงออกมาได้ |
mandatory
|
ค่าเริ่มต้นคือ False หากเป็น "จริง" คุณต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
|
values
|
ลำดับของ ints ค่าเริ่มต้นคือ [] รายการค่าที่อนุญาตสำหรับแอตทริบิวต์ ระบบจะแสดงข้อผิดพลาดหากมีการระบุค่าอื่น |
int_list
Attribute attr.int_list(mandatory=False, allow_empty=True, *, default=[], doc=None)สร้างสคีมาสำหรับแอตทริบิวต์รายการจำนวนเต็ม องค์ประกอบแต่ละรายการต้องอยู่ในช่วง 32 บิตแบบมีเครื่องหมาย
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
mandatory
|
ค่าเริ่มต้นคือ False หากเป็น "จริง" คุณต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
|
allow_empty
|
ค่าเริ่มต้นคือ True จริงหากแอตทริบิวต์เว้นว่างได้ |
default
|
ลำดับของ ints ค่าเริ่มต้นคือ [] ค่าเริ่มต้นที่จะใช้หากไม่มีการระบุค่าสำหรับแอตทริบิวต์นี้เมื่อเริ่มต้นกฎ |
doc
|
string หรือ None
ค่าเริ่มต้นคือ None คำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารดึงออกมาได้ |
ป้ายกำกับ
Attribute attr.label(default=None, doc=None, executable=False, allow_files=None, allow_single_file=None, mandatory=False, providers=[], allow_rules=None, cfg=None, aspects=[])
สร้างสคีมาสำหรับแอตทริบิวต์ป้ายกำกับ นี่คือแอตทริบิวต์การอ้างอิง
แอตทริบิวต์นี้มีค่า Label
ที่ไม่ซ้ำกัน หากมีการระบุสตริงแทน Label
ระบบจะแปลงสตริงโดยใช้ตัวสร้างป้ายกำกับ ส่วนที่เกี่ยวข้องของเส้นทางป้ายกำกับ รวมถึงที่เก็บ (อาจเปลี่ยนชื่อแล้ว) ได้รับการแก้ไขตามแพ็กเกจของเป้าหมายที่สร้างอินสแตนซ์แล้ว
ขณะวิเคราะห์ (ภายในฟังก์ชันการใช้งานของกฎ) เมื่อดึงค่าแอตทริบิวต์จาก ctx.attr
ระบบจะแทนที่ป้ายกำกับด้วย Target
ที่เกี่ยวข้อง ซึ่งจะช่วยให้คุณเข้าถึงผู้ให้บริการทรัพยากร Dependency ของเป้าหมายปัจจุบัน
นอกเหนือจากไฟล์ต้นฉบับทั่วไปแล้ว แอตทริบิวต์ชนิดนี้มักใช้เพื่ออ้างถึงเครื่องมือ เช่น คอมไพเลอร์ เครื่องมือดังกล่าวถือเป็นทรัพยากร Dependency เช่นเดียวกับไฟล์ต้นฉบับ เพื่อหลีกเลี่ยงไม่ให้ผู้ใช้ระบุป้ายกำกับของเครื่องมือทุกครั้งที่ใช้กฎในไฟล์ BUILD คุณสามารถทำฮาร์ดโค้ดป้ายกำกับของเครื่องมือ Canonical เป็นค่า default
ของแอตทริบิวต์นี้ หากไม่ต้องการให้ผู้ใช้ลบล้างค่าเริ่มต้นนี้ คุณสามารถทำให้แอตทริบิวต์เป็นแบบส่วนตัวได้โดยตั้งชื่อที่ขึ้นต้นด้วยขีดล่าง โปรดดูข้อมูลเพิ่มเติมในหน้ากฎ
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
default
|
Label หรือ string หรือ LateBoundDefault หรือ NativeComputedDefault หรือ function หรือ None
ค่าเริ่มต้นคือ None ค่าเริ่มต้นที่จะใช้หากไม่มีการระบุค่าสำหรับแอตทริบิวต์นี้เมื่อเริ่มต้นกฎ ใช้สตริงหรือฟังก์ชัน Label เพื่อระบุค่าเริ่มต้น เช่น attr.label(default = "//a:b")
|
doc
|
string หรือ None
ค่าเริ่มต้นคือ None คำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารดึงออกมาได้ |
executable
|
ค่าเริ่มต้นคือ False จริงหากทรัพยากร Dependency ต้องเรียกใช้ได้ ซึ่งหมายความว่าป้ายกำกับต้องอ้างถึงไฟล์ปฏิบัติการหรือกฎที่แสดงผลไฟล์ปฏิบัติการ เข้าถึงป้ายกำกับด้วย ctx.executable.<attribute_name>
|
allow_files
|
bool หรือลำดับของสตริง หรือ None
ค่าเริ่มต้นคือ None ระบุว่าใช้เป้าหมาย File หรือไม่ อาจเป็น True , False (ค่าเริ่มต้น) หรือรายการนามสกุลไฟล์ที่อนุญาต (เช่น [".cc", ".cpp"] )
|
allow_single_file
|
ค่าเริ่มต้นคือ None ค่านี้คล้ายกับ allow_files โดยมีข้อจำกัดว่าป้ายกำกับต้องสอดคล้องกับไฟล์ไฟล์เดียว เข้าถึงได้ผ่าน ctx.file.<attribute_name>
|
mandatory
|
ค่าเริ่มต้นคือ False หากเป็น "จริง" คุณต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
|
providers
|
ค่าเริ่มต้นคือ [] ผู้ให้บริการที่ต้องมาจากทรัพยากร Dependency ที่ปรากฏในแอตทริบิวต์นี้ รูปแบบของอาร์กิวเมนต์นี้คือรายการรายชื่อผู้ให้บริการ - ออบเจ็กต์ |
allow_rules
|
ลำดับของสตริง หรือ None ค่าเริ่มต้นคือ None เป้าหมายกฎใด (ชื่อคลาส) ที่ได้รับอนุญาต เลิกใช้งานไปแล้ว (เก็บไว้เพื่อความเข้ากันได้เท่านั้น) โปรดใช้ผู้ให้บริการแทน |
cfg
|
ค่าเริ่มต้นคือ None การกำหนดค่าของแอตทริบิวต์ อาจเป็น "exec" ซึ่งบ่งชี้ว่าทรัพยากร Dependency สร้างขึ้นสำหรับ execution platform หรือ "target" ซึ่งระบุว่าทรัพยากร Dependency สร้างขึ้นสำหรับ target platform ตัวอย่างโดยทั่วไปของความแตกต่างคือเมื่อสร้างแอปบนอุปกรณ์เคลื่อนที่ โดยที่ target platform คือ Android หรือ iOS ขณะที่ execution platform คือ Linux , macOS หรือ Windows ต้องระบุพารามิเตอร์นี้หาก executable เป็น "จริง" เพื่อป้องกันการสร้างเครื่องมือโฮสต์โดยไม่ได้ตั้งใจในการกำหนดค่าเป้าหมาย "target" ไม่มีผลทางความหมาย ดังนั้นอย่าตั้งค่าเมื่อ executable เป็น "เท็จ" เว้นแต่จะช่วยให้เจตนาของคุณชัดเจนได้
|
aspects
|
sequence ของ Aspect โดยค่าเริ่มต้นคือ [] ส่วนที่ควรใช้กับ Dependency หรือ Dependencies ที่แอตทริบิวต์นี้ระบุไว้ |
label_keyed_string_dict
Attribute attr.label_keyed_string_dict(allow_empty=True, *, default={}, doc=None, allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
สร้างสคีมาสำหรับแอตทริบิวต์ที่มีพจนานุกรม โดยคีย์คือป้ายกำกับและค่าเป็นสตริง นี่คือแอตทริบิวต์การอ้างอิง
แอตทริบิวต์นี้มีค่า Label
ที่ไม่ซ้ำกัน หากมีการระบุสตริงแทน Label
ระบบจะแปลงสตริงโดยใช้ตัวสร้างป้ายกำกับ ส่วนที่เกี่ยวข้องของเส้นทางป้ายกำกับ รวมถึงที่เก็บ (อาจเปลี่ยนชื่อแล้ว) ได้รับการแก้ไขตามแพ็กเกจของเป้าหมายที่สร้างอินสแตนซ์แล้ว
ขณะวิเคราะห์ (ภายในฟังก์ชันการใช้งานของกฎ) เมื่อดึงค่าแอตทริบิวต์จาก ctx.attr
ระบบจะแทนที่ป้ายกำกับด้วย Target
ที่เกี่ยวข้อง ซึ่งจะช่วยให้คุณเข้าถึงผู้ให้บริการทรัพยากร Dependency ของเป้าหมายปัจจุบัน
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
allow_empty
|
ค่าเริ่มต้นคือ True จริงหากแอตทริบิวต์เว้นว่างได้ |
default
|
dict หรือ function
ค่าเริ่มต้นคือ {} ค่าเริ่มต้นที่จะใช้หากไม่มีการระบุค่าสำหรับแอตทริบิวต์นี้เมื่อเริ่มต้นกฎ ใช้สตริงหรือฟังก์ชัน Label เพื่อระบุค่าเริ่มต้น เช่น attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"})
|
doc
|
string หรือ None
ค่าเริ่มต้นคือ None คำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารดึงออกมาได้ |
allow_files
|
bool หรือลำดับของสตริง หรือ None
ค่าเริ่มต้นคือ None ระบุว่าใช้เป้าหมาย File หรือไม่ อาจเป็น True , False (ค่าเริ่มต้น) หรือรายการนามสกุลไฟล์ที่อนุญาต (เช่น [".cc", ".cpp"] )
|
allow_rules
|
ลำดับของสตริง หรือ None ค่าเริ่มต้นคือ None เป้าหมายกฎใด (ชื่อคลาส) ที่ได้รับอนุญาต เลิกใช้งานไปแล้ว (เก็บไว้เพื่อความเข้ากันได้เท่านั้น) โปรดใช้ผู้ให้บริการแทน |
providers
|
ค่าเริ่มต้นคือ [] ผู้ให้บริการที่ต้องมาจากทรัพยากร Dependency ที่ปรากฏในแอตทริบิวต์นี้ รูปแบบของอาร์กิวเมนต์นี้คือรายการรายชื่อผู้ให้บริการ - ออบเจ็กต์ |
flags
|
ลำดับของสตริง
ค่าเริ่มต้นคือ [] เลิกใช้งานแล้วและจะถูกนำออก |
mandatory
|
ค่าเริ่มต้นคือ False หากเป็น "จริง" คุณต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
|
cfg
|
ค่าเริ่มต้นคือ None การกำหนดค่าของแอตทริบิวต์ อาจเป็น "exec" ซึ่งบ่งชี้ว่าทรัพยากร Dependency สร้างขึ้นสำหรับ execution platform หรือ "target" ซึ่งระบุว่าทรัพยากร Dependency สร้างขึ้นสำหรับ target platform ตัวอย่างโดยทั่วไปของความแตกต่างคือเมื่อสร้างแอปบนอุปกรณ์เคลื่อนที่ โดยที่ target platform คือ Android หรือ iOS ขณะที่ execution platform คือ Linux , macOS หรือ Windows
|
aspects
|
sequence ของ Aspect โดยค่าเริ่มต้นคือ [] ส่วนที่ควรใช้กับ Dependency หรือ Dependencies ที่แอตทริบิวต์นี้ระบุไว้ |
label_list
Attribute attr.label_list(allow_empty=True, *, default=[], doc=None, allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
สร้างสคีมาสำหรับแอตทริบิวต์รายการป้ายกำกับ นี่คือแอตทริบิวต์การอ้างอิง แอตทริบิวต์ ctx.attr
ที่เกี่ยวข้องจะเป็นประเภทรายการของ Target
แอตทริบิวต์นี้มีค่า Label
ที่ไม่ซ้ำกัน หากมีการระบุสตริงแทน Label
ระบบจะแปลงสตริงโดยใช้ตัวสร้างป้ายกำกับ ส่วนที่เกี่ยวข้องของเส้นทางป้ายกำกับ รวมถึงที่เก็บ (อาจเปลี่ยนชื่อแล้ว) ได้รับการแก้ไขตามแพ็กเกจของเป้าหมายที่สร้างอินสแตนซ์แล้ว
ขณะวิเคราะห์ (ภายในฟังก์ชันการใช้งานของกฎ) เมื่อดึงค่าแอตทริบิวต์จาก ctx.attr
ระบบจะแทนที่ป้ายกำกับด้วย Target
ที่เกี่ยวข้อง ซึ่งจะช่วยให้คุณเข้าถึงผู้ให้บริการทรัพยากร Dependency ของเป้าหมายปัจจุบัน
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
allow_empty
|
ค่าเริ่มต้นคือ True จริงหากแอตทริบิวต์เว้นว่างได้ |
default
|
ลำดับของป้ายกำกับหรือฟังก์ชัน
ค่าเริ่มต้นคือ [] ค่าเริ่มต้นที่จะใช้หากไม่ได้ระบุค่าสำหรับแอตทริบิวต์นี้เมื่อเริ่มต้นกฎ ใช้สตริงหรือฟังก์ชัน Label เพื่อระบุค่าเริ่มต้น เช่น attr.label_list(default = ["//a:b", "//a:c"])
|
doc
|
string หรือ None
ค่าเริ่มต้นคือ None คำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารดึงออกมาได้ |
allow_files
|
bool หรือลำดับของสตริง หรือ None
ค่าเริ่มต้นคือ None ระบุว่าใช้เป้าหมาย File หรือไม่ อาจเป็น True , False (ค่าเริ่มต้น) หรือรายการนามสกุลไฟล์ที่อนุญาต (เช่น [".cc", ".cpp"] )
|
allow_rules
|
ลำดับของสตริง หรือ None ค่าเริ่มต้นคือ None เป้าหมายกฎใด (ชื่อคลาส) ที่ได้รับอนุญาต เลิกใช้งานไปแล้ว (เก็บไว้เพื่อความเข้ากันได้เท่านั้น) โปรดใช้ผู้ให้บริการแทน |
providers
|
ค่าเริ่มต้นคือ [] ผู้ให้บริการที่ต้องมาจากทรัพยากร Dependency ที่ปรากฏในแอตทริบิวต์นี้ รูปแบบของอาร์กิวเมนต์นี้คือรายการรายชื่อผู้ให้บริการ - ออบเจ็กต์ |
flags
|
ลำดับของสตริง
ค่าเริ่มต้นคือ [] เลิกใช้งานแล้วและจะถูกนำออก |
mandatory
|
ค่าเริ่มต้นคือ False หากเป็น "จริง" คุณต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
|
cfg
|
ค่าเริ่มต้นคือ None การกำหนดค่าของแอตทริบิวต์ อาจเป็น "exec" ซึ่งบ่งชี้ว่าทรัพยากร Dependency สร้างขึ้นสำหรับ execution platform หรือ "target" ซึ่งระบุว่าทรัพยากร Dependency สร้างขึ้นสำหรับ target platform ตัวอย่างโดยทั่วไปของความแตกต่างคือเมื่อสร้างแอปบนอุปกรณ์เคลื่อนที่ โดยที่ target platform คือ Android หรือ iOS ขณะที่ execution platform คือ Linux , macOS หรือ Windows
|
aspects
|
sequence ของ Aspect โดยค่าเริ่มต้นคือ [] ส่วนที่ควรใช้กับ Dependency หรือ Dependencies ที่แอตทริบิวต์นี้ระบุไว้ |
เอาต์พุต
Attribute attr.output(doc=None, mandatory=False)
สร้างสคีมาสำหรับแอตทริบิวต์เอาต์พุต (ป้ายกำกับ)
แอตทริบิวต์นี้มีค่า Label
ที่ไม่ซ้ำกัน หากมีการระบุสตริงแทน Label
ระบบจะแปลงสตริงโดยใช้ตัวสร้างป้ายกำกับ ส่วนที่เกี่ยวข้องของเส้นทางป้ายกำกับ รวมถึงที่เก็บ (อาจเปลี่ยนชื่อแล้ว) ได้รับการแก้ไขตามแพ็กเกจของเป้าหมายที่สร้างอินสแตนซ์แล้ว
ขณะวิเคราะห์ คุณสามารถดึงข้อมูล File
ที่เกี่ยวข้องโดยใช้ ctx.outputs
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
doc
|
string หรือ None
ค่าเริ่มต้นคือ None คำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารดึงออกมาได้ |
mandatory
|
ค่าเริ่มต้นคือ False หากเป็น "จริง" คุณต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
|
output_list
Attribute attr.output_list(allow_empty=True, *, doc=None, mandatory=False)สร้างสคีมาสำหรับแอตทริบิวต์รายการเอาต์พุต
แอตทริบิวต์นี้มีค่า Label
ที่ไม่ซ้ำกัน หากมีการระบุสตริงแทน Label
ระบบจะแปลงสตริงโดยใช้ตัวสร้างป้ายกำกับ ส่วนที่เกี่ยวข้องของเส้นทางป้ายกำกับ รวมถึงที่เก็บ (อาจเปลี่ยนชื่อแล้ว) ได้รับการแก้ไขตามแพ็กเกจของเป้าหมายที่สร้างอินสแตนซ์แล้ว
ขณะวิเคราะห์ คุณสามารถดึงข้อมูล File
ที่เกี่ยวข้องโดยใช้ ctx.outputs
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
allow_empty
|
ค่าเริ่มต้นคือ True จริงหากแอตทริบิวต์เว้นว่างได้ |
doc
|
string หรือ None
ค่าเริ่มต้นคือ None คำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารดึงออกมาได้ |
mandatory
|
ค่าเริ่มต้นคือ False หากเป็น "จริง" คุณต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
|
สตริง
Attribute attr.string(default='', doc=None, mandatory=False, values=[])สร้างสคีมาสำหรับแอตทริบิวต์ string
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
default
|
string หรือ NativeComputedDefault
ค่าเริ่มต้นคือ '' ค่าเริ่มต้นที่จะใช้หากไม่มีการระบุค่าสำหรับแอตทริบิวต์นี้เมื่อเริ่มต้นกฎ |
doc
|
string หรือ None
ค่าเริ่มต้นคือ None คำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารดึงออกมาได้ |
mandatory
|
ค่าเริ่มต้นคือ False หากเป็น "จริง" คุณต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
|
values
|
ลำดับของสตริง
ค่าเริ่มต้นคือ [] รายการค่าที่อนุญาตสำหรับแอตทริบิวต์ ระบบจะแสดงข้อผิดพลาดหากมีการระบุค่าอื่น |
string_dict
Attribute attr.string_dict(allow_empty=True, *, default={}, doc=None, mandatory=False)สร้างสคีมาสำหรับแอตทริบิวต์ที่มีพจนานุกรม โดยคีย์และค่าเป็นสตริง
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
allow_empty
|
ค่าเริ่มต้นคือ True จริงหากแอตทริบิวต์เว้นว่างได้ |
default
|
ค่าเริ่มต้นคือ {} ค่าเริ่มต้นที่จะใช้หากไม่มีการระบุค่าสำหรับแอตทริบิวต์นี้เมื่อเริ่มต้นกฎ |
doc
|
string หรือ None
ค่าเริ่มต้นคือ None คำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารดึงออกมาได้ |
mandatory
|
ค่าเริ่มต้นคือ False หากเป็น "จริง" คุณต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
|
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc=None)สร้างสคีมาสำหรับแอตทริบิวต์รายการสตริง
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
mandatory
|
ค่าเริ่มต้นคือ False หากเป็น "จริง" คุณต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
|
allow_empty
|
ค่าเริ่มต้นคือ True จริงหากแอตทริบิวต์เว้นว่างได้ |
default
|
sequence ของ strings หรือ NativeComputedDefault
ค่าเริ่มต้นคือ [] ค่าเริ่มต้นที่จะใช้หากไม่มีการระบุค่าสำหรับแอตทริบิวต์นี้เมื่อเริ่มต้นกฎ |
doc
|
string หรือ None
ค่าเริ่มต้นคือ None คำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารดึงออกมาได้ |
string_list_dict
Attribute attr.string_list_dict(allow_empty=True, *, default={}, doc=None, mandatory=False)สร้างสคีมาสำหรับแอตทริบิวต์ที่มีพจนานุกรม โดยคีย์เป็นสตริงและค่าคือรายการสตริง
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
allow_empty
|
ค่าเริ่มต้นคือ True จริงหากแอตทริบิวต์เว้นว่างได้ |
default
|
ค่าเริ่มต้นคือ {} ค่าเริ่มต้นที่จะใช้หากไม่มีการระบุค่าสำหรับแอตทริบิวต์นี้เมื่อเริ่มต้นกฎ |
doc
|
string หรือ None
ค่าเริ่มต้นคือ None คำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารดึงออกมาได้ |
mandatory
|
ค่าเริ่มต้นคือ False หากเป็น "จริง" คุณต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
|