这是一个powershell脚本:
function PickANumber()
{
12
}
function GetTheAnswer()
{
PickANumber + 30
}
$answer = GetTheAnswer
write-output "The answer is $answer"
这个脚本的输出是:
The answer is 12
就我所说的猜测而言,这是因为 powershell 函数调用在参数或它们之间没有括号,因此PickANumber + 30
被解析为类似于PickANumber('+', 1)
而不是PickANumber() + 1
. 这不是错误,未使用的 args 会被忽略(就像 JavaScript 一样)。
如果稍微改变一下,那么答案是 42:
function GetTheAnswer()
{
$a = PickANumber
$a + 30
}
但是肯定有一种方法可以在一条线上做到这一点吗?
我在这里发帖是因为这也会咬别人。