将数学与powershell函数结合使用
我试图在函数中进行数学运算。在函数之外,我可以让它工作,但在函数中,我可以 “方法调用失败,因为[system.int32[]不包含名为'op_division'的方法”将数学与powershell函数结合使用,powershell,Powershell,我试图在函数中进行数学运算。在函数之外,我可以让它工作,但在函数中,我可以 “方法调用失败,因为[system.int32[]不包含名为'op_division'的方法” 函数固定大小{ param( [int[]]$fixme ) 如果($fixme-lt 1mb){ $fixme1=([system.math]::round($fixme/1kb,1)) } 写入主机$fixme1 } 语法“[int[]”表示$fixme是一个int数组,不能对数组执行除法 因此,您需要将参数定义更改为
函数固定大小{
param(
[int[]]$fixme
)
如果($fixme-lt 1mb){
$fixme1=([system.math]::round($fixme/1kb,1))
}
写入主机$fixme1
}
语法“[int[]”表示$fixme是一个int数组,不能对数组执行除法
因此,您需要将参数定义更改为param([int]$fixme)
,或者,如果您确实想对多个数字进行操作,则需要在函数内部进行更多处理,如:
function fix-size {
param ([int[]]$fixme)
foreach ($number in $fixme) {
if ($number -lt 1mb) {
([system.math]::round($number / 1kb, 1))
}
}
}
“[int[]”语法表示$fixme是一个int数组,不能对数组执行除法 因此,您需要将参数定义更改为
param([int]$fixme)
,或者,如果您确实想对多个数字进行操作,则需要在函数内部进行更多处理,如:
function fix-size {
param ([int[]]$fixme)
foreach ($number in $fixme) {
if ($number -lt 1mb) {
([system.math]::round($number / 1kb, 1))
}
}
}
为什么参数有
[int[]]
?为什么参数有[int[]]
?