是否有针对$ _比较的PowerShell 3简化语法?

时间:2014-06-30 10:46:14

标签: powershell powershell-v3.0

PowerShell 3的语法简化:
$people | ? { $_.Name -eq 'Jane' }可以写成$people | ? Name -eq 'Jane'

但是,$_本身是否有简化的语法?

E.g $names | ? { $_ -eq 'Jane' }不能写为$names | ? -eq 'Jane' 是否有其他方式来编写它,还是不支持?

并不是说{}很重要,但我想了解全貌。

1 个答案:

答案 0 :(得分:2)

powershell 3.0中的简化语法基于Where-Object cmdlet中的参数:-EQ,-LT,-GT等(与比较运算符一样命名),因此它不是一个“神奇”但明智选择的参数模仿PowerShell比较运算符的名称。

不幸的是,无法引用对象本身,您必须使用旧语法(就像您在问题中显示的那样):

$names | Where { $_ -eq 'Jane' }