问题标签 [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 投票
9 回答
6263 浏览

perl - Perl 的 shift 与 @_ 子程序参数的赋值之间有区别吗?

让我们暂时忽略 Damian Conway 对于任何给定子程序不超过三个位置参数的最佳实践。

下面的两个示例在性能或功能方面有什么区别吗?

使用shift

使用@_

假设这两个示例在性能和功能方面是相同的,那么人们如何看待一种格式而不是另一种格式?显然,使用的示例代码行数更少,但是像另一个示例中所示的那样@_使用不是更易读吗?shift欢迎有充分理由的意见。

0 投票
4 回答
4222 浏览

perl - Perl 中左值子例程的用途是什么?

我不明白左值子例程的用途是什么?什么是我用普通子程序无法完成的?你能发布一些例子吗?

谢谢

0 投票
3 回答
9699 浏览

perl - 发现 Perl 模块所有子例程的最佳方法是什么?

以编程方式发现 perl 模块具有的所有子例程的最佳方法是什么?这可以是一个模块、一个类(没有@EXPORT)或任何介于两者之间的东西。

编辑:下面的所有方法看起来都可以工作。我可能会在生产中使用 Class::Sniff 或 Class::Inspector。但是,Leon 的答案被标记为“已接受”,因为它回答了所提出的问题,即使no strict 'refs'必须使用。:-) Class::Sniff 可能是一个不错的选择。看起来已经有很多想法了。

0 投票
9 回答
20001 浏览

perl - 如何导出 Perl 包中的所有子程序?

我想将所有 subs 公开到我的命名空间中,而不必一次列出一个:

使用完全限定名称需要对现有代码进行大量更改,所以我宁愿不这样做。

有@EXPORT_ALL 吗?

我认为文档说这是一个坏主意,但我还是想这样做,或者至少知道如何去做。

要回答 Jon 的原因:现在为了快速重构,我想将一堆 subs 移动到他们自己的包中,并且对现有脚本(这些 subs 当前使用并经常重复)进行最少的麻烦和代码更改。

此外,大多数情况下,我只是好奇。(因为看起来 Exporter 也可能将其作为标准功能,但基于到目前为止的答案,有点令人惊讶的是它没有)

0 投票
7 回答
14534 浏览

perl - Why would I use Perl anonymous subroutines instead of a named one?

I'm just curious why one would choose to use an anonymous subroutine, versus a named one, in Perl. Thanks.

0 投票
7 回答
77025 浏览

vb.net - 语法:VB.NET 子程序中的“Exit Sub”或“Return”

“退出子程序”或“返回”似乎都完成了同样的事情——退出子程序。它们在幕后工作的方式有什么不同吗?

那是,

或者

0 投票
3 回答
1531 浏览

perl - 如何将枚举类型验证为 Perl 子例程参数?

建立Perl 有枚举类型吗?,我如何执行动态类型检查(或静态类型检查,如果使用严格能够这样做)我的子例程参数正在获取正确的枚举类型?

0 投票
1 回答
947 浏览

linker - 如何将子程序链接到 Autodyn?

我想在 Autodyn v6.1 中对爆炸载荷下的钢筋混凝土结构进行建模。所以我正在编写一个用户子程序来对具有修改属性的混凝土进行建模,但我无法将编写的子程序链接到 Autodyn。所以我试图找到解决方案或找到一些可以帮助我的参考/网站。

0 投票
5 回答
28364 浏览

perl - How can I use hashes as arguments to subroutines in Perl?

I was asked to modify some existing code to add some additional functionality. I have searched on Google and cannot seem to find the answer. I have something to this effect...

I am getting the following errors:

Line 85 and 86 are the first two lines in the sub routine and 124 and 143 are where I am accessing the hashes. When I look up those errors it seems to suggest that my hashes are uninitialized. However, I can verify that the hashes have values. Why am I getting these errors?

0 投票
1 回答
54 浏览

windows-installer - 具有共享子安装程序的安装程序?

我们构建了一堆结构相似的产品,实际上共享已安装的子目录、文档和各种系统配置变量(环境变量、开始菜单项……)

我们一直在使用 InstallShield。它可以工作,但是一次单击鼠标配置产品安装程序是非常痛苦的,尤其是当其他安装程序已经具有 90% 的相同配置时。

作为程序员,我们习惯于使用子程序来完成常见的工作。为什么这个想法不适用于安装人员?

是否有一种简单的方法来配置已安装功能的子集并在一组 InstallShield 安装程序中使用它们?

作为替代方案,我们一直在考虑使用 NSIS,因为即使我们必须实现宏扩展逻辑,共享逻辑也可以分解为子例程(?)或宏。有人在这里有经验或建议吗?与 InstallShield 相比,NSIS 作为安装程序是否有任何能力缺陷?