การแทรกค่าลงในสตริง

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 ตีความสตริงที่ถูกอินเตอร์โพเลทและแทนที่ตัวแปรหรือนิพจน์ด้วยค่าของมันเมื่อสตริงถูกประเมินค่า ไม่ใช่ตอนที่ถูกกำหนด

ดูเพิ่มเติม