动态调用算术运算符

时间:2019-05-19 20:10:09

标签: powershell reflection operator-keyword

Powershell具有算术运算符,例如加法(+),减法(-)和按位与(-band)。我正在制作一个简单的计算器程序,并且我想根据用户输入动态执行算术计算,而无需编写许多if-else语句。有没有办法动态调用Powershell运算符?例如。如果$ method ==“ plus”执行“ 6 + 6”。

我知道有Invoke-Expression,但这并不是仅对运算符有效(您还需要在表达式字符串中提供操作数)。有什么方法可以将运算符定义为变量?例如。 $ method =“-band”,$ result = 6 $ method 6;

1 个答案:

答案 0 :(得分:0)

您可以这样使用

$no1 = 10 ; $no2 = 5 ; # your inputs

function plus($one , $two)  # plus operation method
{
    $ans = $no1 + $no2 ;
    Write-Output $ans

}

function minus($one , $two) # minus operation method
{
    $ans = $no1 - $no2 ;
    Write-Output $ans
}


$method = "plus" # dyn. method name
& "$method" 10 5 # Call method with param

$method = "minus" ; # dyn. method name
& "$method" 10 5    # Call method with param