ในยาอายุวัฒนะเรามีแผนที่:
> map = %{:a => "one", :b => "two"} # = %{a: "one", b: "two"}
> map.a # = "one"
> map[:a] # = "one"
นอกจากนี้เรายังมีรายการคำหลัก:
> kl = [a: "one", b: "two"] # = [a: "one", b: "two"]
> kl2 = [{:a, "one"},{:b, "two"}] # = [a: "one", b: "two"]
> kl == kl2 # = true
> kl[:a] # = "one"
> kl.a # = ** (ArgumentError)
ทำไมทั้งสอง?
ไวยากรณ์? เป็นเพราะรายการคำหลักมีไวยากรณ์ที่ยืดหยุ่นกว่าทำให้สามารถกำหนดได้โดยไม่ต้องหยิกและไม่มีวงเล็บเป็นพารามิเตอร์สุดท้ายของการเรียกฟังก์ชันหรือไม่ ถ้าอย่างนั้นทำไมไม่ให้น้ำตาลเชิงไวยากรณ์นี้แก่ Maps?
คีย์ที่ซ้ำกัน? เป็นเพราะรายการคำหลักสามารถมีคีย์ที่ซ้ำกันได้หรือไม่? ทำไมคุณถึงต้องการทั้งการเข้าถึงรูปแบบแผนที่และคีย์ที่ซ้ำกัน
ประสิทธิภาพ? เป็นเพราะรายการคำหลักมีประสิทธิภาพที่ดีกว่าหรือไม่? แล้วทำไมต้องมี Maps? และแผนที่ไม่ควรมีประสิทธิภาพในการค้นหาสมาชิกด้วยคีย์มากกว่ารายการทูเปิลหรือไม่?
JS Array และ Ruby Hash มีลักษณะอย่างไร มันคืออะไร?
ฉันเข้าใจว่าโครงสร้างเป็นการแสดงข้อมูลที่แตกต่างกัน สำหรับฉันแล้วดูเหมือนว่ารายการคำหลักในน้ำอมฤตทำหน้าที่ทำให้ภาษาซับซ้อนผ่านไวยากรณ์ที่โดดเด่น (รูปแบบทางไวยากรณ์ที่แตกต่างกัน 3 แบบ) ใช้กรณีที่ทับซ้อนกับแผนที่และประโยชน์ที่ไม่ชัดเจน
ประโยชน์ของการใช้รายการคำหลักคืออะไร?