是否可以将代码包装在一个块中以在调用一个变量时执行整个块?

Posted

技术标签:

【中文标题】是否可以将代码包装在一个块中以在调用一个变量时执行整个块?【英文标题】: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 吗?

【问题讨论】:

Declare a sub? 【参考方案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 一开始就不是正确的语言。

以上是关于是否可以将代码包装在一个块中以在调用一个变量时执行整个块?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 Windows 上运行时从可执行文件中定位函数?

将类的所有可能的方法调用包装在 try/except 块中

将所有内容包装在 try/catch 块中是不是构成防御性编程?

在 case 块中声明变量时,C++11 未正确执行 switch

是否可以使用 django 的自定义模板标签在模板的其他块中插入代码?

PHP-PDO:我如何将一些值返回到 javascript 中以在视图上呈现?