แอตทริบิวต์

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

นี่คือโมดูลระดับบนสุดสำหรับกำหนดสคีมาแอตทริบิวต์ของกฎหรือแง่มุมต่างๆ แต่ละฟังก์ชันจะแสดงออบเจ็กต์ที่แสดงสคีมาของแอตทริบิวต์เดียว ออบเจ็กต์เหล่านี้ใช้เป็นค่าของอาร์กิวเมนต์ 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 ลำดับของ 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 ที่ปรากฏในแอตทริบิวต์นี้

รูปแบบของอาร์กิวเมนต์นี้คือรายการรายชื่อผู้ให้บริการ - ออบเจ็กต์ *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 โดยค่าเริ่มต้นคือ []
ส่วนที่ควรใช้กับ 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 ที่ปรากฏในแอตทริบิวต์นี้

รูปแบบของอาร์กิวเมนต์นี้คือรายการรายชื่อผู้ให้บริการ - ออบเจ็กต์ *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 โดยค่าเริ่มต้นคือ []
ส่วนที่ควรใช้กับ 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 ที่ปรากฏในแอตทริบิวต์นี้

รูปแบบของอาร์กิวเมนต์นี้คือรายการรายชื่อผู้ให้บริการ - ออบเจ็กต์ *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 โดยค่าเริ่มต้นคือ []
ส่วนที่ควรใช้กับ 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 ก็ตาม)