function - 对于 VBScript,子程序的优势是什么?

标签 function vbscript subroutine

我可能只是误解了两者之间的区别:如果子程序和函数之间的唯一区别是函数可以选择返回值而子程序没有,那么在什么情况下您会使用子程序?为什么不总是使用函数?

最佳答案

当我需要一个不返回任何信息但仅因其副作用而被调用的“命名代码段”时,我会使用 Subs。当我需要一个返回一些信息的“命名代码段”(并且(通常)没有副作用)时,我会使用函数。我很高兴我可以在 VBScript 中明确表达我的意图。

补充:为什么@AutomatedChaos 的提议(评论)被误导了:

  • 在您的设计确定之前,您不应该编写代码。要么您不需要检查文件删除操作的结果(然后编写一个 Sub),要么您必须(然后编写一个函数)。您稍后可能会意识到自己犯了一个错误,但是您必须更改的不仅仅是 npc 的类型。
  • 在函数中检查操作的结果是对您的脚本的 promise 总是 合理地处理 Action 的失败(因为函数的每次调用都必须检查返回值)。自由授予将此类函数作为 Sub 调用的许可会使此 promise 无效。
  • 关于function - 对于 VBScript,子程序的优势是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14988761/

    相关文章:

    sql-server - 如何从 VBScript 运行 Microsoft SQL Server 代理作业

    internet-explorer - 重用 Internet Explorer COM 自动化对象

    excel - 如何在工作簿中工作时而不是仅在打开工作簿时连续运行 VBA 子例程?

    python - 列表子集的函数列表

    python - 如何从外部停止执行 Python 函数?

    c - 是否可以在 C 中编写您自己的 kbhit()?

    jquery - colorSelect 函数将 alt 标签传递到输入字段

    visual-studio - Visual Studio 2012 和经典 ASP 缩进(智能)

    ruby - 方法中的递归例程

    Excel VBA - 运行时错误“438”。对象不支持此属性或方法