Хорошо. Я пытаюсь выполнить школьное задание и до конца не могу разобраться. Я пытаюсь использовать 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 должны меняться при каждом запуске скрипта, но они не меняются из-за проблем с областью действия и передачей значений. Кто-нибудь знает, как правильно передать эти значения обратно в главную функцию?