簡體   English   中英

類似Powershell的算子不是可交換的

[英]Powershell -like operator is not commutative

考慮以下:

$var = 'Now is the time'
if ($var -like 'Now*') { 'true' } else { 'false' }

輸出: true

現在將兩個操作數交換為-like運算符:

if ('Now*' -like $var) { 'true' } else { 'false' }

輸出: false

類似的運算符不是可交換的 這是預期的嗎?

我在Win 7上,使用PS版本2.謝謝。

-Like行為不可交換 - 這是預期的。

一些要點:

  1. 評論中上述討論的摘要:交換會引入歧義: 'Hello.*' -like 'Hello?' - 這會返回truefalse是否-like交換一樣? 因此,只允許在右側使用通配符。 如果它們出現在左側大小,則它們被視為文字 - 而不是通配符。

如果其他人有其他有效點:隨時編輯或給出更好的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM