Depset

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

โครงสร้างข้อมูลเฉพาะที่สนับสนุนการดําเนินการผสานที่มีประสิทธิภาพและมีลําดับการส่งผ่านที่กําหนดไว้ ใช้กันโดยทั่วไปในการสะสมข้อมูลจากทรัพยากร Dependency ชั่วคราวในกฎและแง่มุมต่างๆ ดูข้อมูลเพิ่มเติมที่นี่

องค์ประกอบของชุดข้อมูลต้องแฮชได้และเป็นประเภทเดียวกัน (กําหนดโดยฟังก์ชันประเภทในตัว(x)) แต่ deeps ไม่ใช่แค่ชุดแฮชและไม่รองรับการทดสอบการเป็นสมาชิกที่รวดเร็ว หากต้องการใช้ประเภทข้อมูลที่กําหนดไว้ทั่วไป คุณจะจําลองการใช้ประเภทพจนานุกรมได้โดยใช้คีย์ทั้งหมดที่แมปกับ True

กระดานสํารองจะเปลี่ยนแปลงไม่ได้ ซึ่งควรสร้างโดยใช้ฟังก์ชันเครื่องมือสร้างและผสานหรือเสริมด้วยชุดข้อมูลอื่นๆ ผ่านอาร์กิวเมนต์ transitive

พารามิเตอร์ order กําหนดประเภทของการส่งผ่านที่ดําเนินการเพื่อแปลงการตั้งค่าเป็นที่ทําซ้ํา ค่าที่เป็นไปได้ 4 ค่ามีดังนี้

  • "default" (เดิมคือ "stable"): ไม่ได้ระบุคําสั่งซื้อ (แต่กําหนด)
  • "postorder" (เดิมคือ "compile"): การเรียงลําดับจากซ้ายไปขวา โดยให้ข้ามผ่านเด็กทั้งหมดแรกสุดก่อน แล้วจึงตามด้วยองค์ประกอบโดยตรงที่ด้านบนซ้าย
  • "preorder" (เดิมคือ "naive_link"): การสั่งจองล่วงหน้าจากซ้ายไปขวา โดยให้ข้ามผ่านองค์ประกอบโดยตรงที่ซ้ายสุดไปก่อน จากนั้นข้ามผ่านองค์ประกอบแรกสุดเพื่อข้ามลําดับแรก
  • "topological" (เดิมคือ "link"): การเรียงลําดับภูมิประเทศตั้งแต่รากลงไปจนถึงใบ ไม่มีการรับประกันจากซ้ายไปขวา

สามารถรวม Depet 2 ชุดเข้าด้วยกันได้หากทั้ง 2 ลําดับมีคําสั่งซื้อเหมือนกัน หรือ 1 ลําดับมีคําสั่งซื้อ "default" รายการ ในกรณีหลัง ลําดับของกระบวนการที่ได้จะเป็นลําดับเดียวกับคําสั่งซื้อของอีกคําสั่งซื้อหนึ่ง

Depet อาจมีค่าที่ซ้ํากัน แต่ระบบจะไม่แสดงค่าเหล่านี้เมื่อทําซ้ํา (โดยใช้ to_list()) ค่าที่ซ้ํากันอาจรบกวนความหมายความเรียง

สมาชิก

ถึง_รายการ

list depset.to_list()

แสดงผลรายการองค์ประกอบที่ไม่มีองค์ประกอบที่ซ้ํากันตามลําดับลําดับการส่งผ่านของ depset โปรดทราบว่าไม่ได้ระบุลําดับ (แต่กําหนด) ขององค์ประกอบที่เพิ่มมากกว่า 1 ครั้งในค่าที่กําหนด ไม่มีการระบุคําสั่งซื้อสําหรับการจัดส่งที่เรียงลําดับตาม "default" และสําหรับองค์ประกอบย่อยของลําดับที่มีลําดับต่างจากชุดข้อมูลระดับบนสุด รายการนี้เป็นสําเนา การแก้ไขจะไม่มีผลต่อการเปลี่ยนแปลงหรือในทางกลับกัน