【问题标题】:Is it possible to wrap code in a block to execute whole block while calling one variable?是否可以将代码包装在一个块中以在调用一个变量时执行整个块?
【发布时间】:2015-04-23 10:49:23
【问题描述】:

我有几行代码想在我的脚本中执行几次。

objFSO.CreateTextFile (path & statFile)
Set objFile = objFSO.OpenTextFile (path & statFile, 8)
objFile.Write strLine
objFile.Close

是否可以为它分配一个变量(或其他东西),这样我就不必一直写所有 4 行?

我知道条件语句,但实际上没有条件。另一方面,我可以尝试欺骗IF,将它与始终正确的东西一起使用。 我什至可以分配给a 之类的= if...then 吗?

【问题讨论】:

标签: vbscript


【解决方案1】:

将可重复使用的代码放入Sub (or a Function)

>> Sub CalledOften()
>>   WScript.Echo "Here I am again"
>> End Sub
>> For i = 1 To 3
>>     CalledOften
>> Next
>>
Here I am again
Here I am again
Here I am again

【讨论】:

  • 太棒了。我对脚本非常熟悉,以至于我没有注意到我一直在使用 Subs :) 但是我可以从 sub 中调用 sub 还是必须在同一级别上?
  • @Mykail 在 VBScript 中,所有过程和函数都必须在全局范围内定义(不允许在其他过程/函数中嵌套定义),因此您可以从任何其他过程/函数调用任何过程/函数.
  • 另一方面,这主要是要避免的。函数调用很慢,内联代码很快。优化编译器将撤消建议的内容、函数并内联您的代码。在 VBScript 中你必须自己做。 Ctrl + C 和 Ctrl + V 可以剪切和粘贴线条。
  • @Trigger 这将导致几乎不可能维护意大利面条式代码。不要永远这样做!如果性能是一个很大的问题,那么 VBScript 一开始就不是正确的语言。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-28
  • 2016-07-26
  • 2023-02-22
  • 1970-01-01
  • 2013-05-16
  • 2019-05-15
  • 1970-01-01
相关资源
最近更新 更多