-содержит VS -в - PullRequest
       4

-содержит VS -в

1 голос
/ 12 февраля 2020

Документация Microsoft содержит несколько дублирующих операторов, -contains против -in & -notContains против -notIn. Это описание звучит так, как будто они в основном идентичны, -contains описывается как «Возвращает истину, когда ссылочное значение содержится в коллекции», а -in описывается как «Возвращает истину, когда тестовое значение содержится в коллекции». В чем конкретно разница между «эталонным значением» и «тестовым значением» в этом контексте?

И доступны ли варианты вплоть до PS 2.0 или были введены -in & -notIn потом? Учитывая многие изменения, я действительно хотел бы, чтобы sh MS включил эту информацию в свою документацию, а не просто предполагал, что все в текущей версии. Но я отвлекся. :)

1 Ответ

0 голосов
/ 12 февраля 2020

Это для простоты использования, поскольку PowerShell спроектирован так, чтобы максимально удобно печатать (и читать) в оболочке.

Для -contains коллекция находится на слева -ручная сторона:

(1, 2) -contains 1

Противоположный случай - оператор -in, в котором коллекция находится на правой -сторонней стороне:

1 -in (1, 2)

Это и есть та же самая причина, по которой существуют и отрицательные версии, просто потому что это:

1 -notin (1, 2)

легче набрать, чем это:

-not (1 -in (1, 2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...