问题标签 [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.
perl - 什么时候应该使用 & 来调用 Perl 子例程?
我听说人们不应该&
用来调用 Perl 潜艇,即:
我知道其中一个参数列表是可选的,但是在哪些情况下适合使用它,而&
在哪些情况下你绝对不应该使用它?
另外,当省略&
?
perl - 在 Perl 中输入无效输入时,如何要求用户重新输入输入?
我有一个 Perl 子程序,它询问用户的输入。我在该子例程本身内部执行检查输入的输入是否为有效输入。
如果不是,我想再次调用子程序,让用户这次输入有效的输入。
我的子程序如下:
那么如何在其中递归一个子程序呢?
perl - 如何正确调用需要 2 个子例程引用的子例程?
想象一下这个子程序:
我知道我可以这样称呼它:test(\&sub1,\&sub2)
,但我怎么能这样称呼它:
如果我说子程序只需要一个&
,那么发送一个块就可以了。我不知道如何使它与2一起使用。
如果我尝试这样运行它,我会得到:
编辑:没有就没有办法调用sub
吗?
perl - 在 Perl 子例程中使用标签是否被认为是一种不好的做法?
我发现在 Perl 子例程中使用标签,打破多个循环,或者用更新的变量重做某些部分,非常有帮助。社区如何看待这种编码风格?在子程序中使用标签是否令人不悦?
windows - Windows Shell 脚本:无法在子例程中进行字符串替换
尊敬的专家您好!
您能否建议我如何处理该问题:
此代码在屏幕上回显,而不是写入“ExtractedLinks.txt”。这里有什么问题?
perl - 为什么我的 Perl 代码中出现“调用太早无法检查原型”警告?
我有一个这样的 Perl 文件:
简而言之,f1
在定义之前被调用。因此,Perl 抛出一个警告:“f1 调用太早,无法检查原型”。但情况也是如此f2
,唯一的区别是它是从另一个子例程内部调用的。它不会为f2
. 为什么?
解决此问题的最佳方法是什么?
- 在调用子程序之前声明它
- 像这样调用子:
&f1();
perl - Perl - 将参数作为哈希键值对问题传递给子例程
我必须将两个引用作为参数传递给子例程(buildRanges)作为哈希键值对,如下所示
例子:
我的问题是
1. 上述子程序调用的语法是否正确?
2.什么是VALUES和REF_RANGES?
坦率地说,我无法理解子程序调用,但我被告知只能使用该调用。
谢谢。
KK
perl - 为什么我在使用 `do` 函数时无法加载 Perl 库?
我是 Perl 的新手,我正在更新一个旧的 Perl 网站。每个.pl
文件的顶部似乎都有这一行:
所以我想我可以使用这个文件来标记一个子程序以供全局使用。
函数公司
索引.pl
但是,我收到此错误:
这两个文件都在同一个目录中,并且func.inc
已经在整个网站中使用了 subs 的音调。但是,该脚本适用于 Linux 生产环境,但不适用于我的 Windows 7 开发环境(我使用的是 ActivePerl)。
更新:
看起来该文件未包含在内;如果使用绝对路径包含文件,则 sub 工作...
...所以看起来相对路径不适用于我的本地开发环境,但它们可以在生产环境中工作。但这对我没有好处,因为我的开发机器上的绝对路径不适用于实时服务器。
如何do
在我的 Windows 7 开发机器上使用相对路径开始工作?
更新 2:
我正在使用 Perl-T
开关。不幸的是,这删除了“。” 来自@INC,因此阻止我们使用相对路径do
。我删除了这个开关,旧代码现在可以工作了。我知道这不是一个好习惯,但不幸的是我正在使用旧代码,所以我似乎别无选择。
perl - 我应该将不带参数的 Perl 子例程称为 Marine() 还是 Marine?
根据我下面的示例代码,调用子例程有两种样式:subname
和subname()
.
如果调用中没有参数,哪一个&marine();
或是更好的选择?&marine;
perl - 如何将参数传递给使用 eval 定义的 Perl 子例程?
我正在使用配置文件(在 YAML 中)来定义稍后用于验证我的应用所需的其他配置值的类型:
这个想法是对eval
每个类型定义,将它们放入哈希中,然后调用以验证配置数据(以下是易于理解的示意图):
问题是 %type_sub 中的子例程似乎不接受参数。在上述情况下,第一个打印语句输出-1
,而第二个输出:
这根本不是我所期望的,但是正在调用子例程。
我究竟做错了什么?
编辑:我很马虎,现在一切正常。感谢弗里多。