PowerShell 3的语法简化:
$people | ? { $_.Name -eq 'Jane' }
可以写成$people | ? Name -eq 'Jane'
但是,$_
本身是否有简化的语法?
E.g $names | ? { $_ -eq 'Jane' }
不能写为$names | ? -eq 'Jane'
是否有其他方式来编写它,还是不支持?
并不是说{}
很重要,但我想了解全貌。
答案 0 :(得分:2)
powershell 3.0中的简化语法基于Where-Object cmdlet中的参数:-EQ,-LT,-GT等(与比较运算符一样命名),因此它不是一个“神奇”但明智选择的参数模仿PowerShell比较运算符的名称。
不幸的是,无法引用对象本身,您必须使用旧语法(就像您在问题中显示的那样):
$names | Where { $_ -eq 'Jane' }