แอตทริบิวต์

รายงานปัญหา ดูแหล่งที่มา

นี่คือโมดูลระดับบนสุดสำหรับกำหนดสคีมาแอตทริบิวต์ของกฎหรือมุมมอง แต่ละฟังก์ชันจะแสดงผลออบเจ็กต์ที่แทนสคีมาของแอตทริบิวต์เดียว ออบเจ็กต์เหล่านี้ใช้เป็นค่าของอาร์กิวเมนต์พจนานุกรม attrs ของ rule() และ aspect()

โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดและการใช้แอตทริบิวต์ในหน้ากฎ

สำหรับสมาชิก

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 sequence ของ int ค่าเริ่มต้นคือ []
รายการค่าที่อนุญาตสำหรับแอตทริบิวต์ ข้อผิดพลาดจะสูงขึ้นหากมีการระบุค่าอื่น

int_list

Attribute attr.int_list(mandatory=False, allow_empty=True, *, default=[], doc=None)

สร้างสคีมาสำหรับแอตทริบิวต์รายการจำนวนเต็ม องค์ประกอบแต่ละรายการต้องอยู่ในช่วง 32 บิตแบบมีเครื่องหมาย

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
mandatory ค่าเริ่มต้นคือ False
หากเป็น "จริง" ต้องระบุค่าอย่างชัดแจ้ง (แม้ว่าจะมี default ก็ตาม)
allow_empty ค่าเริ่มต้นคือ True
เป็นจริงหากแอตทริบิวต์ว่างเปล่าได้
default sequence ของ 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=[])

สร้างสคีมาสำหรับแอตทริบิวต์ป้ายกำกับ นี่คือแอตทริบิวต์ของทรัพยากร Dependency

แอตทริบิวต์นี้มีค่า 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 ที่ปรากฏในแอตทริบิวต์นี้

รูปแบบของอาร์กิวเมนต์นี้คือรายการรายชื่อผู้ให้บริการ -- ออบเจ็กต์ *Info ที่แสดงผลโดย provider() (หรือในกรณีของผู้ให้บริการเดิม คือชื่อสตริง) ทรัพยากร Dependency ต้องแสดงผลผู้ให้บริการทั้งหมดที่กล่าวถึงในรายการภายในอย่างน้อย 1 รายการ เพื่อความสะดวก อาร์กิวเมนต์นี้อาจเป็นรายการผู้ให้บริการระดับเดียว ซึ่งในกรณีนี้จะรวมอยู่ในรายการภายนอกที่มีหนึ่งองค์ประกอบ ไม่ได้กำหนดให้กฎของทรัพยากร Dependency ต้องโฆษณาผู้ให้บริการเหล่านั้นในพารามิเตอร์ provides แต่ก็ถือเป็นแนวทางปฏิบัติแนะนำ

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 ค่าเริ่มต้นคือ []
Aspect ที่ควรนำไปใช้กับ Dependency หรือ Dependency ที่ระบุโดยแอตทริบิวต์นี้

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=[])

สร้างสคีมาสำหรับแอตทริบิวต์ที่มีพจนานุกรมอยู่ ซึ่งคีย์เป็นป้ายกำกับและค่าเป็นสตริง นี่คือแอตทริบิวต์ของทรัพยากร Dependency

แอตทริบิวต์นี้มีค่า 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 ที่ปรากฏในแอตทริบิวต์นี้

รูปแบบของอาร์กิวเมนต์นี้คือรายการรายชื่อผู้ให้บริการ -- ออบเจ็กต์ *Info ที่แสดงผลโดย provider() (หรือในกรณีของผู้ให้บริการเดิม คือชื่อสตริง) ทรัพยากร Dependency ต้องแสดงผลผู้ให้บริการทั้งหมดที่กล่าวถึงในรายการภายในอย่างน้อย 1 รายการ เพื่อความสะดวก อาร์กิวเมนต์นี้อาจเป็นรายการผู้ให้บริการระดับเดียว ซึ่งในกรณีนี้จะรวมอยู่ในรายการภายนอกที่มีหนึ่งองค์ประกอบ ไม่ได้กำหนดให้กฎของทรัพยากร Dependency ต้องโฆษณาผู้ให้บริการเหล่านั้นในพารามิเตอร์ provides แต่ก็ถือเป็นแนวทางปฏิบัติแนะนำ

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 ค่าเริ่มต้นคือ []
Aspect ที่ควรนำไปใช้กับ Dependency หรือ Dependency ที่ระบุโดยแอตทริบิวต์นี้

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=[])

สร้างสคีมาสำหรับแอตทริบิวต์รายการป้ายกำกับ นี่คือแอตทริบิวต์ของทรัพยากร Dependency แอตทริบิวต์ 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 ที่ปรากฏในแอตทริบิวต์นี้

รูปแบบของอาร์กิวเมนต์นี้คือรายการรายชื่อผู้ให้บริการ -- ออบเจ็กต์ *Info ที่แสดงผลโดย provider() (หรือในกรณีของผู้ให้บริการเดิม คือชื่อสตริง) ทรัพยากร Dependency ต้องแสดงผลผู้ให้บริการทั้งหมดที่กล่าวถึงในรายการภายในอย่างน้อย 1 รายการ เพื่อความสะดวก อาร์กิวเมนต์นี้อาจเป็นรายการผู้ให้บริการระดับเดียว ซึ่งในกรณีนี้จะรวมอยู่ในรายการภายนอกที่มีหนึ่งองค์ประกอบ ไม่ได้กำหนดให้กฎของทรัพยากร Dependency ต้องโฆษณาผู้ให้บริการเหล่านั้นในพารามิเตอร์ provides แต่ก็ถือเป็นแนวทางปฏิบัติแนะนำ

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 ค่าเริ่มต้นคือ []
Aspect ที่ควรนำไปใช้กับ Dependency หรือ Dependency ที่ระบุโดยแอตทริบิวต์นี้

เอาต์พุต

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)

สร้างสคีมาสำหรับแอตทริบิวต์ list-of-outputs

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

ขณะวิเคราะห์ คุณสามารถดึงข้อมูล File ที่เกี่ยวข้องโดยใช้ ctx.outputs

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
allow_empty ค่าเริ่มต้นคือ True
เป็นจริงหากแอตทริบิวต์ว่างเปล่าได้
doc string หรือ None ค่าเริ่มต้นคือ None
คำอธิบายแอตทริบิวต์ที่ดึงข้อมูลได้ด้วยเครื่องมือสร้างเอกสาร
mandatory ค่าเริ่มต้นคือ False
หากเป็น "จริง" ต้องระบุค่าอย่างชัดแจ้ง (แม้ว่าจะมี default ก็ตาม)

string

Attribute attr.string(default='', doc=None, mandatory=False, values=[])

สร้างสคีมาสำหรับแอตทริบิวต์ string

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
default string หรือ NativeComputedDefault ค่าเริ่มต้นคือ ''
ค่าเริ่มต้นที่จะใช้หากไม่มีการระบุค่าสำหรับแอตทริบิวต์นี้เมื่อเริ่มต้นกฎ
doc string หรือ None ค่าเริ่มต้นคือ None
คำอธิบายแอตทริบิวต์ที่ดึงข้อมูลได้ด้วยเครื่องมือสร้างเอกสาร
mandatory ค่าเริ่มต้นคือ False
หากเป็น "จริง" ต้องระบุค่าอย่างชัดแจ้ง (แม้ว่าจะมี default ก็ตาม)
values sequence ของ strings ค่าเริ่มต้นคือ []
รายการค่าที่อนุญาตสำหรับแอตทริบิวต์ ข้อผิดพลาดจะสูงขึ้นหากมีการระบุค่าอื่น

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 ก็ตาม)