แอตทริบิวต์

วันที่ รายงานปัญหา ดูแหล่งที่มา ตอนกลางคืน · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

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

สมาชิก

บูลีน

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

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 ป้ายกำกับ หรือ 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 sequence ของ strings หรือ 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 ที่ระบุโดยแอตทริบิวต์นี้

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 sequence ของ strings หรือ None; ค่าเริ่มต้นคือ None
กฎเป้าหมายที่อนุญาต (ชื่อคลาส) เลิกใช้งานแล้ว (เก็บไว้เพื่อความเข้ากันได้เท่านั้น) โปรดใช้ผู้ให้บริการแทน
providers ค่าเริ่มต้นคือ []
ผู้ให้บริการที่ต้องได้รับโดยทรัพยากร Dependency ที่ปรากฏในแอตทริบิวต์นี้

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

flags sequence ของ strings ค่าเริ่มต้นคือ []
เลิกใช้งานแล้ว จะถูกนำออก
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 ที่ระบุโดยแอตทริบิวต์นี้

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 sequence ของป้ายกำกับ หรือ function; ค่าเริ่มต้นคือ []
ค่าเริ่มต้นที่จะใช้หากไม่มีการระบุค่าสำหรับแอตทริบิวต์นี้เมื่อเริ่มต้นกฎ ใช้สตริงหรือฟังก์ชัน 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 sequence ของ strings หรือ None; ค่าเริ่มต้นคือ None
กฎเป้าหมายที่อนุญาต (ชื่อคลาส) เลิกใช้งานแล้ว (เก็บไว้เพื่อความเข้ากันได้เท่านั้น) โปรดใช้ผู้ให้บริการแทน
providers ค่าเริ่มต้นคือ []
ผู้ให้บริการที่ต้องได้รับโดยทรัพยากร Dependency ที่ปรากฏในแอตทริบิวต์นี้

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

flags sequence ของ strings ค่าเริ่มต้นคือ []
เลิกใช้งานแล้ว จะถูกนำออก
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 ที่ระบุโดยแอตทริบิวต์นี้

เอาต์พุต

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

สตริง

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