บูลีนตัวอักษรใน PowerShell คืออะไร
บูลีนตัวอักษรใน PowerShell คืออะไร
คำตอบ:
$true$falseและ
นั่นคือค่าคงที่ ไม่มีตัวอักษรระดับภาษาสำหรับบูลีน
ขึ้นอยู่กับที่คุณต้องการนอกจากนี้คุณยังสามารถใช้สิ่งที่coercesเป็นค่าบูลีนถ้าประเภทจะต้องมีบูลเช่นในการเรียกวิธีการที่จำเป็นต้องมีบูล (และไม่มีการโอเวอร์โหลดที่ขัดแย้งกัน) หรืองบเงื่อนไข ตัวอย่างวัตถุที่ไม่เป็นโมฆะส่วนใหญ่เป็นจริงเช่น nullสตริงว่างอาร์เรย์ว่างเปล่าและจำนวน0เป็นเท็จ
[bool]1และ[bool]0ยังใช้งานได้
if ($s.Length) { ... }ยกตัวอย่างเช่น
ในการเพิ่มข้อมูลเพิ่มเติมให้กับคำตอบที่มีอยู่แล้ว : ตัวอักษรบูลีน$trueและ$falseทำงานเหมือนเดิมเมื่อใช้เป็นพารามิเตอร์บรรทัดคำสั่งสำหรับสคริปต์ PowerShell (PS) สำหรับสคริปต์ PS ด้านล่างซึ่งจัดเก็บในไฟล์ชื่อinstallmyapp.ps1:
param (
[bool]$cleanuprequired
)
echo "Batch file starting execution."
ตอนนี้ถ้าฉันจะเรียกไฟล์ PS นี้จากบรรทัดคำสั่ง PS นี่คือวิธีที่ฉันสามารถทำได้:
installmyapp.ps1 -cleanuprequired $true
หรือ
installmyapp.ps1 -cleanuprequired 1
ที่นี่1และ $trueเทียบเท่า นอกจากนี้0และ $falseยังเทียบเท่า
หมายเหตุ : อย่าคาดหวังว่าตัวอักษรสตริงtrueจะถูกแปลงเป็นบูลีนโดยอัตโนมัติ ตัวอย่างเช่นถ้าฉันใช้คำสั่งด้านล่าง:
installmyapp.ps1 -cleanuprequired true
มันไม่สามารถรันสคริปต์โดยมีข้อผิดพลาดด้านล่าง:
ไม่สามารถประมวลผลการแปลงอาร์กิวเมนต์ในพารามิเตอร์ 'cleanuprequired' ไม่สามารถแปลงค่า "System.String" เป็นประเภท "System.Boolean" พารามิเตอร์บูลีนยอมรับเฉพาะค่าบูลีนและตัวเลขเช่น $ True, $ False, 1 หรือ 0