4

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

4

1 回答 1

4

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

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

  1. 在设计完成之前,您不应该编写代码。要么您不需要检查文件删除操作的结果(然后编写一个 Sub),要么您必须检查(然后编写一个函数)。你可能稍后会意识到你犯了一个错误,但你必须改变的不仅仅是 npc 的类型。
  2. 在函数中检查一个动作的结果是一个承诺,即您的脚本将始终合理地处理该动作的失败(因为函数的每次调用都必须检查返回值)。自由地授予将此类函数调用为 Sub 的许可会使此承诺无效。
于 2013-02-20T20:06:32.207 回答