【发布时间】:2018-12-31 17:01:49
【问题描述】:
如果有人能指出我在将参数 from 传递回主线代码时做错了什么,我将不胜感激。我有一个已在函数中成功提取的变量,但我似乎无法将其传递回主线代码
这是我正在使用的代码:
function get-field ($field, $heading) {
$fieldPos = $script:source.AllElements.InnerText.IndexOf($heading) +1
$field = $script:source.AllElements.InnerText[$fieldPos]
# If states "Not Available", or contains a heading, process as if not found.
if ($field -eq "Not Available ") {$fieldPos = 0}
if ($field -eq $heading) {$fieldPos = 0}
# Check that a valid entry was received
if ($fieldPos -eq 0) {
Write-Host "Warning:" $heading "was not found"
} else {
$field = $field.Trim()
}
return $field
}
get-field $email "Name"
get-field $address "Address"
我已经验证在函数中,$field 和 $heading 参数包含正确的信息,那么为什么没有填充 $email 和 $address 字段?
【问题讨论】:
-
能发一下功能代码吗?
-
也许我没有完全理解这个函数,但你似乎没有在任何地方填充变量。您返回
$field但在调用函数时不要将其保存在任何地方。不知道功能,$email = get-field $email "Name"解决问题了吗?
标签: function powershell parameter-passing