PowerShell выводит элементы массива при интерполяции внутри двойных кавычек

Я обнаружил странное поведение в PowerShell, связанное с массивами и двойными кавычками. Если я создаю и вывожу первый элемент массива, например:

$test = @('testing')
echo $test[0]

Output:
testing

Все работает нормально. Но если я помещу вокруг него двойные кавычки:

echo "$test[0]"

Output:
testing[0]

Оценивалась только переменная $test, а маркер массива [0] воспринимался буквально как строка. Легкое решение - просто не интерполировать переменные массива в двойных кавычках, или сначала присвоить их другой переменной. Но является ли такое поведение намеренным?

13
задан Peter Mortensen 5 November 2018 в 22:13
поделиться