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

batch-file - 有没有办法将百分比(%)传递给常规?

DOS批处理文件

输入文件有三个记录:

脚本如下:

输出:

角色 % 不见了!你知道为什么吗?

0 投票
5 回答
46092 浏览

perl - 如何将哈希传递给子例程?

需要帮助弄清楚如何做到这一点。我的代码:

0 投票
1 回答
956 浏览

perl - 显示当前 Perl 子程序的 Vim 插件

我正在尝试制作一个 Vim 插件,该插件将在加载时拆分窗口并模拟终端顶部的信息栏。我已经让它工作了,但我认为我已经达到了我对 Vim 语法知识的限制,或者我的代码中存在逻辑问题。

期望的效果是从我在活动缓冲区中的当前位置开始反向搜索 Perl 子例程的任何声明,并在顶部缓冲区中显示该行。Ctrl当我用-切换缓冲区时,我还试图让它跳过该缓冲区R。到目前为止,我的尝试可以从嵌套 if 语句的混乱中看出。

无论如何,这是代码。我将非常感谢任何人的反馈。

类似于问题VIM: display custom reference bar on top of window和 Vim Tips wiki page Show current function name in C programs

0 投票
1 回答
6351 浏览

assembly - 在子例程中使用 TRAP 例程?- LC3 组装

所以,我已经完成了一个汇编程序,它要求输入一个字符,读取它,回显它,重复四次,然后在一个连续的字符串中打印出这些字符。然后我想尝试使用子程序(我们还没有在课堂上学习过),所以我制作了以下子程序来将换行符打印到控制台:

它像这样被“调用”:

运行此程序后,我注意到一些奇怪的事情,程序似乎在第一次调用PRINT_NEWLINE. 然后我意识到 TRAP 保存了下一条指令的地址,在这种情况下是RET, in R7,用于子程序链接的寄存器。这将覆盖由 保存的R7地址JSR。所以它似乎停止的原因是在TRAP例程完成后,它会加载我的RET指令。实际上,由于TRAP,将 pc 计数器更改为自身。有点像无限循环。

这一切都很好,我明白发生了什么,但是有没有办法可以TRAP在我的子例程中使用系统例程,同时仍然使用系统JSR指令?

当然,我可以在JSR PRINT_NEWLINE调用之后将指令的地址手动存储到不同的寄存器中,然后在我的PRINT_NEWLINE子程序结束时,存储JMP到该寄存器中的地址。

但是,这对我来说似乎是错误的,我是一名程序员,因此我很懒惰,宁愿只是享受别人的劳动成果并使用 and 的JSR组合RET

那么是否可以TRAP在子例程中调用例程并仍然用于RET从该子例程“返回”?如何做到这一点?

谢谢!

0 投票
2 回答
147 浏览

arrays - -1,0,1 在子例程中隐含使用时如何帮助排序功能?

我在使用子例程时遇到了一些问题,即用于对数字数组进行排序的sort函数。我知道如果你单独使用 sort 函数,它会使用 ASCII 格式进行排序,因为本书描述了这个和那个排序不是所需的顺序。我知道并了解使用<=>比较值返回的内容,甚至被引入cmp字符串(尽管我还没有使用它)。

我具体不明白的是它如何对它们进行数字排序 - 实际过程。我了解返回的内容,但本书只是说它返回 -1、0 和 1,而不是数字最终如何具体排序为1 8 24 72 144 288.

我的例子:

我完全理解的例子。这很有意义,但我认为这主要是由于编码:

如果有人可以澄清,非常感谢。

0 投票
4 回答
3883 浏览

perl - 打印出匿名子程序的代码

我目前在一个非常复杂的 Perl 架构中工作,我想创建一些调试工具。由于很多行为都涉及匿名子例程,因此我想分析一些行为,而我所要做的就是对子例程的引用。

简而言之,有没有办法打印子例程引用的代码(因为 Perl 被解释它可能仍然可用?)?

0 投票
7 回答
25294 浏览

arrays - 将两个或多个数组传递给 Perl 子例程

我在子例程中传递和读取参数时遇到问题,该子例程应该有两个数组。

我从网上看到并尝试了几个例子,但没有一个对我有用。

0 投票
1 回答
21989 浏览

perl - 如何在 Perl 中访问函数参数?

在 C++ 中,我会做这样的事情:

在 PHP 中,我会这样做:

我如何在 Perl 中做到这一点?

0 投票
3 回答
1823 浏览

function - 回调函数:它们在计算机编程语言中是什么?

我在 Win32 等低级 API 中看到了很多回调函数。但是我对回调函数或回调子程序是什么感到困惑。c# 中的事件是否被视为回调函数?

0 投票
1 回答
192 浏览

perl - 为什么我没有收到来自 Perl 的警告?

考虑这两个用例:

第一个会产生Variable will not stay shared警告,而第二个不会。似乎在这两种情况下都没有共享变量。为什么在第二种情况下没有任何警告?