PowerShell:
การใช้แอเรย์สมาชิก
วิธีใช้:
การสร้างและใช้ associative arrays ใน PowerShell นั้นค่อนข้างตรงไปตรงมา นี่คือวิธีทำมัน:
การสร้าง associative array:
$myAssociativeArray = @{}
$myAssociativeArray["name"] = "Alex"
$myAssociativeArray["age"] = 25
$myAssociativeArray["job"] = "Engineer"
โค้ดข้างต้นสร้าง associative array ที่มีคู่คีย์-ค่าสามคู่
การเข้าถึงค่า:
เพื่อดึงค่าออกมา ให้อ้างอิงคีย์ของมัน:
Write-Output $myAssociativeArray["name"]
ตัวอย่างผลลัพธ์:
Alex
การเพิ่มหรือแก้ไขข้อมูล:
เพียงใช้คีย์ในการเพิ่มคู่ใหม่หรือแก้ไขคู่ที่มีอยู่:
$myAssociativeArray["location"] = "New York" # เพิ่มคู่คีย์-ค่าใหม่
$myAssociativeArray["job"] = "Senior Engineer" # แก้ไขคู่ที่มีอยู่
การวนซ้ำผ่าน associative array:
วนลูปผ่านคีย์และค่าแบบนี้:
foreach ($key in $myAssociativeArray.Keys) {
$value = $myAssociativeArray[$key]
Write-Output "$key : $value"
}
ตัวอย่างผลลัพธ์:
name : Alex
age : 25
job : Senior Engineer
location : New York
ลงลึก
คอนเซปต์ของ associative arrays เป็นที่นิยมในหลายภาษาการเขียนโปรแกรม โดยมักจะถูกเรียกว่า dictionary, map, หรือ hash table ตามภาษาที่ใช้ ใน PowerShell, associative arrays ถูกประยุกต์ใช้เป็น hash tables ซึ่งมีประสิทธิภาพสูงสำหรับการค้นหาคีย์, เก็บข้อมูล, และรักษาคอลเลกชันของคีย์ที่ไม่ซ้ำกัน
ตามประวัติศาสตร์แล้ว, associative arrays ให้วิธีการจัดการคอลเลกชันของวัตถุที่แต่ละรายการสามารถเรียกข้อมูลออกมาได้อย่างรวดเร็วโดยไม่ต้องวนซ้ำผ่านทั้งคอลเลกชันโดยใช้คีย์ ประสิทธิภาพในการเรียกข้อมูลและการแก้ไขข้อมูลใน associative arrays ทำให้พวกมันเป็นทางเลือกที่ต้องการสำหรับงานต่างๆ อย่างไรก็ตาม พวกเขามีข้อจำกัด เช่น การรักษาลำดับ ซึ่ง ordered dictionaries หรือวัตถุที่กำหนดเองอาจเป็นทางเลือกที่ดีกว่า
ทั้งนี้ associative arrays/hash tables ใน PowerShell มีความยืดหยุ่นและเป็นเครื่องมือที่มีพลังสำหรับการเขียนสคริปต์อย่างมาก พวกเขาช่วยให้การเก็บข้อมูลแบบไดนามิกและเป็นที่นิยมใช้ในการกำหนดค่า การจัดการข้อมูล และทุกที่ที่ต้องการรูปแบบข้อมูลที่มีโครงสร้างโดยไม่ต้องใช้การกำหนดคลาสอย่างเป็นทางการ เพียงจำไว้ ในขณะที่ associative arrays เหมาะสำหรับการเรียกข้อมูลโดยใช้คีย์ ถ้างานของคุณเกี่ยวข้องกับโครงสร้างข้อมูลที่ซับซ้อนหรือต้องการรักษาลำดับเฉพาะ คุณอาจต้องการสำรวจประเภทข้อมูลอื่นหรือวัตถุที่กำหนดเองภายใน PowerShell