【问题标题】:VBScript: Passing parameters to functionVBScript:将参数传递给函数
【发布时间】:2013-03-27 20:40:56
【问题描述】:

我有两个功能。我需要将一个参数从一个传递到另一个,并在第二个函数中对其进行评估。对于下面的代码,我需要在 env 中使用“QA”,但将其打印为“env”

strenv = "QA"
cus_number = getNumber(strenv)

If (IsNull(cus_number)) Then
    WScript.Echo "Number is null" 
Else
 WScript.Echo "cus_number : " & cus_number
End If



 Function getNumber(strenv)
    wscript.echo "env: " & strenv
    if strenv = "QA" Then
     number = "423"
    elseif strenv ="DEV" Then
      number= "678"
    endif
     getNumber=number
    End Function

【问题讨论】:

  • 您发布的代码甚至无法编译(它会为无效语法生成“编译错误”),更不用说运行或做错任何事情了。请edit您的问题提供一个真实的、运行的代码示例,但该代码对您来说不能正常工作。
  • @Ken White:我已经更新了代码
  • -1 如果您真的尝试运行刚刚发布的代码,您会注意到它仍然会引发编译错误。错误消息甚至会告诉您在哪里以及为什么。
  • 我已经更新了代码,如何读取函数内部的参数strenv?

标签: function vbscript parameter-passing


【解决方案1】:

我在您的代码中看到至少 2 个问题:

  1. strenv = QA

    您可能打算将字符串 "QA" 分配给变量 strenv。但是,没有双引号 QA 被视为变量。由于你没有初始化它,它的值为Empty,然后赋值给strenv

  2. 函数中的条件句法不正确。请查看documentation

【讨论】:

  • 实际上我正在从用户输入中获得质量保证。但是为了方便我在这里分配了它。 strenv 在函数 getNumber 之外具有“QA”值。但是我怎样才能在函数中得到它呢?
  • @sravs448 函数中的条件 still语法错误。我什至向您推荐了相关文档。请删除On Error Resume Next 你似乎在你的真实代码中的某个地方并做你的功课。
  • 我可以照顾好条件。我现在已经更新了。请告诉我如何访问传递的参数。
  • 你代码中的逻辑是正确的。不是你的语法。您仍然有语法错误(在示例代码的第 18 行)。 endif(没有空格)在 VBScript 中不是有效的关键字。
猜你喜欢
  • 1970-01-01
  • 2016-07-02
  • 2013-01-27
  • 2021-04-18
  • 1970-01-01
相关资源
最近更新 更多