Динамически вызывать арифметический оператор - PullRequest
0 голосов
/ 19 мая 2019

Powershell имеет арифметические операторы, такие как сложение (+), вычитание (-) и побитовое и (-полоса). Я делаю простую программу калькулятора, и я хочу динамически выполнять арифметические вычисления, основанные на пользовательском вводе, без необходимости писать много операторов if-else. Есть ли способ динамически вызывать операторы powershell? Например. если $ method == "plus", сделайте "6 + 6".

Я знаю, что есть Invoke-Expression, но на самом деле он работает не только с одним оператором (вам также необходимо указать операнды в строке выражения). Есть ли способ определить оператор как переменную? Например. $ method = "- band", $ result = 6 $ method 6;

1 Ответ

0 голосов
/ 20 мая 2019

вы можете использовать таким образом

$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
...