对于VBScript,子程序的优点是什么?

时间:2013-02-20 19:55:48

标签: function vbscript subroutine

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

1 个答案:

答案 0 :(得分:4)

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

已添加:为什么@AutomatedChaos的提案(评论)被误导:

  1. 在设计结算之前,不应编写代码。要么您不需要检查文件删除操作的结果(然后写一个Sub),或者您必须(然后编写一个函数)。你可能后来意识到你犯了一个错误,但是你必须改变的不仅仅是npc的类型。
  2. 在函数中检查操作的结果是一个承诺,即您的脚本将始终合理地处理操作失败(因为函数的每次调用都必须检查返回值)。要自由地给许可证调用这样的功能作为Sub使这个承诺无效。