Bash:
การใช้แอเรย์สมาชิก

วิธีการ:

ขั้นแรก ประกาศแอสโซซิเอทีฟอาร์เรย์ใน Bash:

declare -A my_array

จากนั้น คุณสามารถเริ่มต้นเติมค่าลงไป โดยใช้สตริงเป็นคีย์:

my_array["name"]="Linux Journal"
my_array["topic"]="Programming"

เพื่อเข้าถึงองค์ประกอบ ใช้คีย์ของมัน:

echo ${my_array["name"]}  # แสดงผล: Linux Journal

การวนซ้ำผ่านคีย์และค่าก็ทำได้ง่ายดาย:

for key in "${!my_array[@]}"; do
    echo "$key: ${my_array[$key]}"
done

ผลลัพธ์ตัวอย่างอาจมีลักษณะดังนี้:

name: Linux Journal
topic: Programming

เพื่อเพิ่มหรือแก้ไของค์ประกอบ แค่กำหนดค่าให้กับคีย์ คล้ายกับการเติมค่าเริ่มต้น:

my_array["readers"]="You"

และการลบองค์ประกอบออก ใช้ unset:

unset my_array["topic"]

ภาพรวมลึกซึ้ง

แอสโซซิเอทีฟอาร์เรย์ เริ่มถูกนำมาใช้ใน Bash เวอร์ชัน 4.0 เป็นความเพิ่มเติมที่ค่อนข้างใหม่สำหรับภาษา เมื่อก่อนการมาถึงของพวกมัน การจัดการอาร์เรย์ที่ดัชนีไม่ใช่ตัวเลขนั้นทำได้ยากลำบาก มักต้องใช้วิธีแก้ไขหรือเครื่องมือภายนอกเช่น awk หรือ sed.

ภายใต้ฮู้ด Bash ใช้ตารางแฮชในการดำเนินการแอสโซซิเอทีฟอาร์เรย์ การดำเนินการนี้ช่วยให้การค้นหาคีย์มีประสิทธิภาพสูง ซึ่งยังคงค่อนข้างคงที่ไม่ว่าขนาดของอาร์เรย์จะเป็นเท่าไร ลักษณะสำคัญนี้มีความสำคัญต่อประสิทธิภาพในการดำเนินการสคริปต์

แม้แอสโซซิเอทีฟอาร์เรย์ใน Bash จะนำเสนอพลังและความยืดหยุ่นมากมายให้กับสคริปต์เชลล์ แต่ก็มาพร้อมกับข้อจำกัดของตัวเอง เช่น อาจจะยุ่งยากในการใช้งานเมื่อเทียบกับอาร์เรย์ในภาษาระดับสูงอย่าง Python หรือ JavaScript สำหรับงานจัดการข้อมูลที่ซับซ้อน อาจยังคงคุ้มค่าที่จะพิจารณาเครื่องมือหรือภาษาภายนอกที่เหมาะสมกับงานมากขึ้น

อย่างไรก็ตาม สำหรับงานสคริปต์ทั่วไปหลายๆ งาน แอสโซซิเอทีฟอาร์เรย์นำเสนอเครื่องมือที่มีค่าในชุดเครื่องมือของโปรแกรมเมอร์ Bash ช่วยให้สคริปต์มีการอ่านและรักษาได้ง่ายขึ้นด้วยการใช้คีย์สตริงที่มีความหมายแทนดัชนีตัวเลข