变量名可以是数字字母,为什么参数名不能这样呢?
问问题
1304 次
2 回答
6
因为Powershell 语言规范中指定first-parameter-char
的语法不允许这样做。 command-parameter
2.3.4 Parameters
Syntax:
command-parameter:
dash first-parameter-char parameter-chars colonopt
first-parameter-char:
A Unicode character of classes Lu, Ll, Lt, Lm, or Lo
_ (The underscore character U+005F)
?
您可以在此处找到 unicode 字符类列表。
于 2013-09-25T13:58:17.667 回答
2
这绝对是惯例,而不是纯粹的技术限制。
function f($1) {
$1
}
# Works positionally
f 1
# Works with splatting
$h = @{"1" = 2}
f @H
# Doesn't work by name
f -1 2
值得注意的是,语言规范是在语言本身之后编写的,因此可能有几点更具体,而 PowerShell 本身就是。
于 2013-09-25T20:07:01.943 回答