PowerShell:
การแทรกค่าลงในสตริง
วิธีการ:
ใน PowerShell, คุณสามารถใช้การอินเตอร์โพเลทด้วยสตริงที่มีเครื่องหมายคำพูดคู่และสัญลักษณ์ $ ก่อนชื่อตัวแปร ห่อนิพจน์ด้วย $() เพื่อประเมินค่าภายในสตริงทันที
$name = "Alex"
$day = (Get-Date).DayOfWeek
# การแทรกตัวแปรพื้นฐาน
"Hello, $name! Happy $day!"
# การแทรกนิพจน์
"Pi to two decimal places is $(Math::Round([Math]::Pi, 2))"
# ผลลัพธ์
Hello, Alex! Happy Wednesday!
Pi to two decimal places is 3.14ลงลึก
PowerShell ได้นำการอินเตอร์โพเลทสตริงมาใช้โดยยืมแนวคิดมาจากภาษาโปรแกรมที่มีมาก่อนอย่าง Perl ก่อน PowerShell เวอร์ชั่น 3, เราใช้ตัวดำเนินการ + สำหรับการต่อสตริงหรือใช้ตัวดำเนินการรูปแบบ -f นี่คือวิวัฒนาการ:
- การต่อสตริงแบบเก่า:
"Hello, " + $name + "! It's " + $day + "." - ตัวดำเนินการรูปแบบ:
"Hello, {0}! It's {1}." -f $name, $day
สตริงที่ถูกอินเตอร์โพเลทง่ายต่อการอ่านและมีโอกาสผิดพลาดน้อยลง ในเบื้องหลัง, PowerShell ตีความสตริงที่ถูกอินเตอร์โพเลทและแทนที่ตัวแปรหรือนิพจน์ด้วยค่าของมันเมื่อสตริงถูกประเมินค่า ไม่ใช่ตอนที่ถูกกำหนด