我希望我的pow2($a,$n)
函数能够调用,[math]::pow($a,$n)
所以我写了这个:
function pow2($a,$n) {
return [math]::pow($a,$n)
}
但是当我调用它时,我收到此错误:
PS C:\> pow2(2,10)
Cannot convert argument "x", with value: "System.Object[]", for "Pow" to type "System.Double": "Cannot convert the "System.Object[]" value of
type "System.Object[]" to type "System.Double"."
At C:\Users\sebastien.mansfeld\OneDrive - PLURIAD – Groupe
Media-Participations\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1:18 char:9
+ return [math]::pow($a,$n)
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodException
+ FullyQualifiedErrorId : MethodArgumentConversionInvalidCastArgument
PS C:\>
我期望这个结果:
PS C:\> pow2(2,10)
1024
PS C:\>
你说错了。
Powershell 中的函数参数在不带括号的情况下调用。
pow2 2 10
将工作还有你不需要
return