PowerShell Arrays: วิธีสร้างและใช้งาน
ตัวแปรเป็นโครงสร้างข้อมูลพื้นฐานที่สุดในการเข้ารหัสทุก(any type of coding)ประเภท แต่ตัวแปรเดียวแทบจะไม่เพียงพอสำหรับวัตถุประสงค์ส่วนใหญ่ โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับอัลกอริธึมที่ซับซ้อนมากขึ้น
นั่นคือที่มาของอาร์เรย์ ไม่ว่าจะเป็น C++ หรือPythonอาร์เรย์ก็มีอยู่ในทุกภาษาการเขียนโปรแกรมในรูปแบบใดรูปแบบหนึ่ง แต่แล้วWindows PowerShellล่ะ? อาร์เรย์PowerShell ทำงาน อย่างไร คุณใช้พวกเขาอย่างไร? ไวยากรณ์ของพวกเขาคืออะไร? ลองหา
PowerShell Arrays 101
พูด ง่ายๆ(Simply)ก็คือ อาร์เรย์เป็นเพียงชุดของตัวแปรที่มีโครงสร้าง แนวคิดคือขจัดความยุ่งยากในการติดตามชื่อหลายสิบชื่อด้วยการยุบตัวแปรที่เกี่ยวข้องเป็นชุดตัวเลข
ในPowerShellคุณสามารถสร้างตัวแปรโดยเติมสัญลักษณ์ $ ไว้ข้างหน้าชื่อตัวแปร ตัวอย่างเช่น:
$prime = 13
ตัวแปรสามารถมีประเภทข้อมูลใดก็ได้ ตั้งแต่ตัวเลขไปจนถึงสตริง คุณเพียงแค่ต้องใช้เครื่องหมายคำพูดคู่หรือเดี่ยวเพื่อระบุสตริง
$name = “Levin”
ในตอนนี้ ในการสร้างอาร์เรย์ใหม่ เพียงแค่กำหนดค่าหลายค่าให้กับตัวแปรเดียวกัน โดยคั่นด้วยเครื่องหมายจุลภาค แบบนี้:
$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”
บางคนชอบที่จะส่งตัวแปรลงในอาร์เรย์อย่างชัดเจนเพื่อหลีกเลี่ยงความสับสน แม้ว่าจะไม่จำเป็นก็ตาม เมื่อต้องการทำสิ่งนี้ ให้ใส่ค่าในวงเล็บนำหน้าด้วยสัญลักษณ์ @
$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)
ซึ่งมักจะมีประโยชน์เมื่อพยายามใส่ผลลัพธ์ของคำสั่งอื่นๆ ลงในอาร์เรย์ ซึ่งคุณไม่สามารถเขียนคำสั่งเหล่านี้ในรูปแบบที่ถูกต้องได้ด้วยตนเอง
การสร้างอาร์เรย์
เราได้เห็นวิธีการทั่วไปในการสร้างอาร์เรย์แล้ว แต่ขึ้นอยู่กับสถานการณ์ มีวิธีอื่นที่อาจเหมาะสมกว่า ตัวอย่างเช่น หากคุณต้องการสร้างอาร์เรย์ที่มีช่วงของตัวเลข คุณสามารถใช้ตัวดำเนินการช่วง:
$digits = (0..9)
สิ่งนี้จะสร้างอาร์เรย์ของตัวเลขสิบหลักทั้งหมดจากศูนย์ถึงเก้า คุณยังสามารถเริ่มต้นอาร์เรย์ว่างได้ ในกรณีที่คุณต้องการเก็บค่าไว้ในภายหลัง
$values = @()
หลาย(Multiple)อาร์เรย์สามารถซ้อนกันได้ แม้ว่าการใช้งานประเภทนี้อาจทำให้สับสนได้อย่างรวดเร็ว
$coordinates = @(
(5, 10, 23),
(11, 7, 16)
)
โดยค่าเริ่มต้น อาร์เรย์สามารถจัดเก็บตัวแปรประเภทใดก็ได้ ไม่ว่าจะเป็นตัวเลข สตริง หรือทั้งสองอย่างรวมกัน แต่คุณสามารถกำหนดประเภทได้อย่างชัดเจนในกรณีที่คุณต้องการจำกัดค่าที่ใส่เข้าไป ตัวอย่างเช่น:
[int[]] $numbers = 2,3,4,5
ด้วยวิธีนี้อาร์เรย์สามารถเก็บได้เฉพาะจำนวนเต็มเท่านั้น การพยายามกำหนดค่าประเภทอื่นให้จะส่งกลับข้อผิดพลาด สิ่งนี้มีประโยชน์ในการป้องกันข้อผิดพลาดง่ายๆ สำหรับอาร์เรย์ที่ทำงานเฉพาะกับค่าตัวเลข เนื่องจากการป้อนสตริงลงในตัวแปรเพื่อใช้ในการคำนวณจะสร้างปัญหาได้
การเข้าถึงอาร์เรย์
จนถึงตอนนี้ เราได้เห็นวิธีการหลายวิธีในการสร้างอาร์เรย์ที่มีข้อมูลประเภทต่างๆ แต่คุณจะเข้าถึงข้อมูลนี้ได้อย่างไร
อาร์เรย์ PowerShell(PowerShell)ใช้รูปแบบเดียวกับที่ใช้โดยภาษาการเขียนโปรแกรมอื่น ตัวแปรอาร์เรย์แต่ละตัวสามารถเข้าถึงได้โดยหมายเลขดัชนี ตัวอย่างเช่น:
$var = $numbers[5]
สิ่งนี้จะคัดลอกค่าที่เก็บไว้ในดัชนีห้าของอาร์เรย์$numbers ใน ตัวแปร$varโปรดทราบว่าดัชนีอาร์เรย์เริ่มนับจาก 0 ดังนั้นรายการแรกจะเข้าถึงได้โดยมีค่าศูนย์
หากเราจะส่งออกสิ่งนี้ตัวอย่างเช่น:
“$days[2]”
เราจะได้วันพุธ ไม่ใช่วันอังคาร
คุณสามารถใช้วิธีการเดียวกันนี้เพื่อแก้ไขค่าเหล่านี้ได้เช่นกัน ตัวอย่างเช่น คำสั่งต่อไปนี้จะเปลี่ยนองค์ประกอบที่สองของอาร์เรย์เป็นศูนย์:
$numbers[1] = 0
คุณยังสามารถเพิ่มองค์ประกอบอื่นๆ ให้กับอาร์เรย์ที่มีอยู่ แทนที่จะเปลี่ยนค่าของรายการปัจจุบัน เพียงแค่เพิ่มองค์ประกอบเหล่านั้น เช่น นิพจน์ทางคณิตศาสตร์
$names += “Johny”
วิธีนี้สามารถใช้เพื่อเพิ่มหลายรายการพร้อมกัน หรือแม้กระทั่งทั้งอาร์เรย์
$names += “Charlie, Liam, Teresa”
$names += $surnames
วิธีการที่คั่นด้วยเครื่องหมายจุลภาคมีไว้สำหรับการเข้าถึงองค์ประกอบอาร์เรย์หลายรายการด้วย ตัวอย่างเช่น การป้อนข้อมูลนี้จะจัดเก็บห้าองค์ประกอบแรกของ$ $daysใน$weekdays
$weekdays = $days[0,1,2,3,4]
วนซ้ำผ่านอาร์เรย์
การเข้าถึงองค์ประกอบเฉพาะของอาร์เรย์ด้วยตนเองนั้นดีและดี แต่ถ้าคุณต้องการดำเนินการกับเนื้อหาทั้งหมดของอาร์เรย์ การดำเนินการนั้นอาจเป็นเรื่องที่น่าเบื่อหน่าย แนวทางที่หรูหรากว่าคือการใช้ For loop
สำหรับลูปสามารถผ่านองค์ประกอบทั้งหมดของอาร์เรย์ได้อย่างเป็นระบบ โดยประมวลผลแต่ละค่าตามคำแนะนำ นี่คือวิธีที่คุณสามารถสร้างลูปดังกล่าวได้:
For ($i = 0 ; $i -lt $days.Length ; $i++){
$days[$i]}
ฟังก์ชัน array.Length จะคืนค่าขนาดของอาร์เรย์ ซึ่งโดยพื้นฐานแล้วจะเป็นจำนวนองค์ประกอบในอาร์เรย์ ซึ่งสามารถเสียบเข้ากับพารามิเตอร์นิพจน์การทดสอบของ For loop เพื่อทำซ้ำองค์ประกอบทั้งหมดอย่างครอบคลุม
Foreach loop และForeach -object(Foreach) loop สามารถทำเช่นเดียวกันกับสคริปต์PowerShell ที่บางกว่า(PowerShell)
Foreach ($day in $days){
$day}
วิธีนี้ช่วยให้คุณไม่ต้องพยายามกำหนดขนาดของอาร์เรย์ โดยปล่อยให้PowerShellจัดการ รายละเอียด
เมื่อใดที่คุณควรใช้อาร์เรย์ PowerShell(PowerShell Arrays)
แหล่งที่มาของข้อบกพร่องที่ใหญ่ที่สุดในสคริปต์ที่ซับซ้อนคือตัวแปรที่อ้างอิงอย่างไม่ถูกต้อง สิ่งนี้เกิดขึ้นเนื่องจากการมีอยู่ของตัวแปรที่มีชื่อเฉพาะจำนวนมาก ซึ่งทำให้ยากต่อการจดจำวัตถุประสงค์ของตัวแปร
การแก้ไขที่ง่ายที่สุดสำหรับปัญหานี้คือการใช้อาร์เรย์อย่างครอบคลุม ตัวแปรทั้งหมดที่เกี่ยวข้องในลักษณะบางอย่างสามารถกำหนดให้กับอาร์เรย์เดียวและเข้าถึงได้โดยใช้หมายเลขดัชนี
กรณีการใช้งานที่สำคัญ ของ Microsoft PowerShell(Microsoft PowerShell’s)คือระบบอัตโนมัติ และอาร์เรย์มีบทบาทสำคัญในเรื่องนั้น ออบเจ็กต์ที่ส่งคืนโดยPowerShell cmdlets สามารถจัดเก็บในอาร์เรย์และทำซ้ำได้ ซึ่งช่วยให้ทำงานตามลำดับได้โดยอัตโนมัติ ทำให้การดูแลระบบง่ายขึ้นมาก
Related posts
วิธีสร้างและใช้ไดรฟ์ USB สำหรับกู้คืน Windows 11
วิธี Delete หรือสร้างงานที่กำหนดเวลาไว้กับ PowerShell ใน Windows 11
ทำไมพีซีของฉันเข้ากันไม่ได้กับ Windows 11 Use WhyNotWin11!
วิธีเพิ่ม Create Restore Point Context Menu ใน Windows 11
PowerShell กับ Command Prompt: ข้อดีและข้อเสีย
Dynamic Refresh Rate feature ทำงานอย่างไรใน Windows 11
วิธีการตรึงแอใด ๆ ที่จะ Taskbar ใน Windows 11
วิธีการแสดงรายการ Windows Services ทั้งหมดโดยใช้ PowerShell หรือ Command Line
วิธีเปิดใช้งานหรือปิดใช้งาน Snap Layouts บน Windows 11
วิธีการย้าย Taskbar ไปยัง Top บน Windows 11 โดยใช้ Reigstry Editor
วิธีการรับ Windows 11 Insider Preview Build ตอนนี้
Click ที่นี่เพื่อป้อนข้อความรับรองล่าสุดของคุณใน Windows 11
ชิปเซ็ตและเมนบอร์ดที่รองรับ Windows 11 operating system
วิธีเพิ่มความเร็ว Windows 10 และทำให้มันใช้งาน Start, Run, Shutdown faster
Edition ของ Windows 11 ใดที่คุณจะได้รับการอัพเกรด
วิธีการติดตั้งและใช้งาน Bash บน Windows 11
วิธีการลงชื่อออกจาก email account ใน Mail app ใน Windows 11
วิธีการตั้งวอลล์เปเปอร์ที่แตกต่างกันบนเดสก์ท็อปที่แตกต่างกันบน Windows 11
วิธีตรวจสอบว่าพีซีของคุณสามารถทำงาน Windows 11 PC Health Check tool
ข้อกำหนดของระบบ Windows 11: คุณสมบัติที่ชาญฉลาด Minimum Hardware