Powershell передает значения аргументов в параметры и обратно

Хорошо. Я пытаюсь выполнить школьное задание и до конца не могу разобраться. Я пытаюсь использовать powershell для передачи значений от одной функции к другой, создавая сценарий "модульного" типа. Я не могу понять, как переместить значения за пределы функции без использования $script:xxxxx. Есть ли другой способ переместить значения в powershell как обычный параметр аргумента, передаваемый по ссылке?

Вот что у меня есть:

function main
{
inputGrams($carbGrams, $fatGrams)
$carbGrams
$carbGrams
calcGrams
displayInfo
}

function inputGrams([ref]$carbGrams, [ref]$fatGrams)
{
    $carbGrams = read-host "Enter the grams of carbs per day"
    $fatGrams = read-host "Enter the grams of fat per day"
}

function calcGrams
{
    $carbCal = $carbGrams * 4
    $fatCal = $fatGrams * 9
}

function displayInfo 
{
    write-host "The total amount of carb calories is $carbCal" 
    write-host "The total amount of fat calories is $fatCal"
}

main

Два значения сразу после функции inputGrams должны меняться при каждом запуске скрипта, но они не меняются из-за проблем с областью действия и передачей значений. Кто-нибудь знает, как правильно передать эти значения обратно в главную функцию?

6
задан BACON 10 February 2012 в 05:10
поделиться