问题标签 [subroutine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5040 浏览

perl - 如何创建一个接受代码块的 Perl 子例程

我有一组如下所示的子例程:

我有四个或更多看起来相同的东西,唯一改变的是 while 块的主体。我想对此进行抽象并停止复制粘贴代码。

  • 有没有办法编写一个接受代码块并执行它的子程序?

为了提供更多上下文,不同的 foo 子例程是不同的有限状态机 (FSM),它读取不同文件的内容并将数据提供给哈希引用。也许有比我想要完成的更聪明的事情去做。

0 投票
2 回答
3967 浏览

perl - Perl 无法正确打印

好的,所以我有一些类似于您在下面看到的子例程,我的问题是打印功能在实际命令完成之前不会打印出来,我希望它打印
“有 MySQL,正在安装:”,然后执行命令然后打印确定。我已经尝试过使用 sleep 并尝试清除 $ssh_d 对象。任何建议表示赞赏。不要担心这个特定子中的变量,问题正在发生。多谢你们。

0 投票
3 回答
562 浏览

.net - 函数调用的子例程是否必须完成才能继续执行?

如果在函数中调用子例程,该函数是否总是等到该子例程完全完成后才能继续执行该函数的其余部分?如果是这样,有没有办法让它不等待并继续执行其余的功能,而不关心子程序中发生了什么?

0 投票
3 回答
84327 浏览

excel - 带有变量的excel vba调用子程序

我定义了以下子程序:

当我这样调用子程序时:

我收到以下错误消息:

我不知道为什么会收到此消息。有谁知道我错过了什么?

0 投票
2 回答
434 浏览

objective-c - 函数调用而不是自我消息传递——何时使用什么?

在 Objective-C 中,当我想调用一个子程序时,我会向一个对象发送一条消息,例如:

[self mySubroutine:myParameter];

有一个(可以忽略不计?)性能损失,所以我可以只使用 C 风格的函数调用:

mySubroutine(myParameter);

然后后者的实现将驻留在类的@implementation上下文之外。

这是禁忌吗?这很常见吗?在这方面有最佳实践吗?

0 投票
1 回答
572 浏览

excel - excel vba子程序调用失败

我有以下问题。我想调用一个子程序来更改单元格范围的背景颜色。用cells(1,1)计算单元格范围,然后计算地址以接收A1。

在调用子程序之前,我得到了单元格的地址,如下所示:

我想我需要这个,因为子程序是这样声明的:

范围 1 和范围 2 是字符串,我将其连接到范围声明:

当我这样调用我的子程序时:

我收到以下错误消息:

“运行时错误'1004':对象'_Global'的方法'Range'失败。我不明白,因为如果我用正确的单元格值调用子例程:

有用。它是字符串并且具有相同的值。这根本不可能可以吗?

0 投票
3 回答
43357 浏览

c# - C#中的子程序

我对 C# 有点陌生,不太确定如何调用子例程。这是我正在尝试做的事情:

对我来说不幸的是,这不起作用。我收到“只有赋值、调用、递增、递减和新对象表达式可以用作语句”错误。

如何从我的 Button1_Click 事件中调用我的 StartExstream 子程序?

谢谢,杰森

编辑:

}

0 投票
3 回答
1817 浏览

excel - 在“ThisWorkbook”下丢失 VBA 代码(Private Sub WorkBook_Open())

背景的前三个元素:

  1. 我创建了一个 Excel 模板,该模板又用于创建一个“个性化模板”,其中用户名、用户评论和保存数据路径名嵌入在个性化模板中。
  2. 个性化模板用于制作月度工作簿(实际上是时间表)
  3. 该模板是在 Vista 下运行的 Office/Excel 2007 中创建的,但(当前)目标环境是在 XP Professional 下运行 Office/Excel 2003 的公司网络。因此,这两个模板都创建为 Excel 2003 模板(在开发环境中以兼容模式运行)

到目前为止,一切都很好——模板在开发环境中运行良好——“个性化”代码位于WorkBook_Open(“ThisWorkbook”下的例程中——它运行、删除并保存为个性化模板。两个模板在Sheet1代码中都有“流程宏”(这里的原则是初始模板在“ThisWorkbook”和“Sheet1”中有宏;个性化模板只在“Sheet1”中有宏,从个性化模板创建的工作簿根本没有宏。

在“beta 测试”中,我在 XP(文件格式)下使用 Excel2000 时遇到了问题,在目标机器上,我的 WorkBook_Open 例程在主模板(而不是个性化模板)中被删除——即使在 Excel2007/Vista 上一切正常。

当时我觉得 Workbook_Open 的无效删除可能是一个编码错误 - 但在研究这些问题时,我发现了许多对“Macafee 删除 VBA 模块”的引用。我没有研究这些——但我意识到目标机器(和环境)运行 Macafee,而我的所有计算机都运行 Norton。

重新编码后,我成功地重新测试了以下内容:

a) Excel 2007/Vista/Norton
b) Excel 2007/XP Professional/Norton
c) Excel 2000/XP Home/Norton

所以在 Excel 2003/XP Professional/Macafee 中重新测试感觉很舒服

这一次我在关注它——所以,再次看到 WorkBook_Open 例程被错误地从主模板中删除了——不幸的是,这只是在 USB 存储密钥(运行模板的地方)被完全破坏之前的片刻。

所以对于问题 - 在我再次完成整个过程之前:

  1. 是否有任何客观证据表明 Macafee 删除了“自动运行”VBA 模块?
  2. 如果是,是否有任何解决方法(此模板将由一万企业中的三个人使用 - 所以我无法影响/修改安全策略!!!:() - 如果有是 Macafee 的问题,那么我将不得不重新考虑整个事情!
0 投票
3 回答
3814 浏览

excel - excel vba在选择情况下调用多个子例程

如果我有以下代码:

我想在案例 1 中调用几个子例程:

如何做呢?

最好的,美国

0 投票
3 回答
850 浏览

arrays - 将数组传递给单独打印每个数组的子例程

我知道这可能是一个简单的修复,但我无法通过谷歌找到答案并在这里搜索问题。

我的目标是将多个数组传递给一个子例程,该子例程简单地分别遍历每个数组并在每个数组之前和之后打印每个数组。

是)我有的:

我试图得到的是:

123@@@456@@@

相反,它将两个数组视为一个数组并遍历数组中的每个变量,将分隔符放在每个变量之后,而不是整个数组。

1@@@2@@@3@@@等.....

我不确定如何让子例程将数组视为单独的而不是一个。

任何帮助将不胜感激!