问题标签 [argument-passing]

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 回答
15281 浏览

powershell - powershell pass system.object[] 不展开

关于如何在不展开的情况下通过 Get-PSCallStack 的任何想法。它似乎是一个 system.object[] 但从我在网上阅读的内容来看,它们在通过和“展开”时不会保持完整。我尝试在前面放置一个逗号来防止它,但这没有用。

0 投票
5 回答
2441 浏览

c - 在 C 中传递二维数组

我从 C 中断了一段时间,现在又回到了它。

如果我想创建一个二维数组,我可以通过两种方式进行:

或者

但是,当我希望传递 malloc'd 数组而不是传递另一个时,似乎有两个约定:

首先,除了它是指向指针数组的指针之外,我不需要任何信息。但它只能是一个 malloc 的数组。

其次,我需要传递 double* 数组指向的每个数组的长度。这似乎很愚蠢。

我错过了什么吗?提前致谢。

0 投票
1 回答
2914 浏览

python - 静态方法作为类方法的默认参数

我的问题是关于另一个问题的两个答案:在同一类的方法中使用类/静态方法作为默认参数值

我试图了解这两个答案的作用是否真的有区别,如果是,那么每个答案的优缺点是什么。

问题:如何使用类方法作为同一个类中方法的默认参数。

答案1:使用函数而不是类方法

答案2:使用类方法,但将其转换为函数

这最初是用 Python 2 编写的,但我的总结(希望)是 Python 3。

0 投票
4 回答
2666 浏览

ruby - 使用通配符在多个输入文件上调用 Ruby 脚本

我对 Ruby 比较陌生,需要编写一个脚本来处理多个输入文件。它应该像这样调用:

其中目录包含多个文件,例如file1.xmlfile2.xml。只是一个简单的问题:这个通配符将如何扩展?我需要在我的脚本中编程吗?我正在使用OptionParser该类来解析命令行参数。

谢谢!

0 投票
5 回答
2452 浏览

c - printf 作为函数的参数

通常使用函数:

我是否可以这样使用这个参数?

int my_func(const char *key)

0 投票
4 回答
3472 浏览

function - 有没有办法在 R 的函数中使用两个“...”语句?

我想编写一个同时调用plot()and的函数,legend()如果用户可以指定许多附加参数,然后将这些参数传递给plot()or 或,那将是理想的legend()。我知道我可以使用以下两个功能之一来实现这一点...

这传递xaxt = "n"给情节。但是有没有一种方法可以在不预先指定函数头中的参数的情况下传递title = "legend"给调用?legend()


接受答案的更新:我认为 VitoshKa 的方式是完成我想要的最优雅的方式。但是,我必须解决一些小问题,直到它按我的意愿工作。

起初,我检查了我要传递哪些参数legend以及要传递哪些参数plot。为此的第一步是查看哪些参数legend是唯一的,legend而不是情节和/或标准的一部分:

dput()在这里使用,因为这条线plot.args <- c(names(formals(plot.default)), names(par()))总是调用一个我不想要的新空图。所以,我dput在下面的函数中使用了输出。

接下来,我必须处理重叠的参数(通过 获取它们dput(largs.all[(largs.all %in% pargs.all)]))。对于一些人来说这是微不足道的(例如,,x),y其他人则被传递给两个函数(例如,pch)。但是,在我的实际应用程序中,我什至使用了其他策略(例如,不同的变量名称用于adj,但未在此示例中实现)。

最后,do.call必须以两种方式更改该功能。首先,what 部分(即,称为函数)需要是一个字符(即,'plot'而不是plot)。并且参数列表的构造必须略有不同。

在此示例中,pch传递给两者plotlegendtitle仅传递给legend,并且ylim仅传递给plot


根据 Gavin Simpson 的评论更新 2(另请参阅 Vitoshka 的回答中的评论):(
i)这是正确的。
(ii) 它总是可以是一个字符。但是如果你有一个与函数同名的变量,那么你需要在中引用函数名do.call

(iii)您可以使用c(x = 1, y = 1, list())并且效果很好。但是,我真正所做的(不是在我给出的示例中,而是在我的实际函数中)如下:c(x = 1, y = 1, xlim = c(0, 2), list(bla='foo'))
请将其与以下情况进行比较:c(list(x = 1, y = 1, xlim = c(0, 2)), list(bla='foo'))
在第一种情况下,列表包含两个元素和xlim(每个都是标量),在后一种情况下该列表只有(这是长度为 2 的向量,这是我想要的)。xlim1xlim2xlim

所以,对于我的例子,你的所有观点都是正确的。但是,对于我的实际功能(有更多变量),我遇到了这些问题,并想在这里记录它们。抱歉不准确。

0 投票
6 回答
18508 浏览

python - 默认和非默认参数的顺序

在 Python 中,我知道默认参数在最后,非默认参数不能跟在默认参数之后。没事儿。例如:

正如预期的那样没关系。

但是,当我希望第一个参数应该是默认参数时,情况如何?例如,从上面的代码中可以看出,x它必须是第一个参数,并且它的默认值应该是 0。

是否有可能做到这一点?我问是因为即使在range函数中,我猜它是这样的:

那么这是如何完成的,如果不可能,这是如何实现的range?请注意,我坚持将第一个参数设为默认值,这就是重点。我range以此为例,因为它非常适合我的问题。当然可以实现rangeas def range(end, start=0),但这不是重点。

0 投票
6 回答
4040 浏览

c++ - 将字符串流的内容传递给以 char* 作为参数的函数

我有一个将 ppm 文件(一种图片格式)写入磁盘的功能。它将文件名作为 char* 数组。在我的主函数中,我使用字符串流和 << 运算符组合了一个文件名。然后,我想将结果传递给我的 ppm 函数。我在其他地方看到过这个讨论,通常使用非常复杂的方法(许多中间转换步骤)。

我所做的显示在下面的代码中,其他人通常在许多步骤中使用临时变量做的棘手部分是(char*) (PPM_file_name.str().data()). 这样做的目的是使用 .str() 从 stringstream PPM_file_name 中提取字符串,然后使用 .data() 获取指向其实际内容的指针(这是一个 const char*),然后将其转换为常规 (char*)。更完整的例子如下。

到目前为止,我发现以下工作正常,但这让我感到不安,因为通常当其他人以看似更复杂的方式完成某事时,这是因为这是一种更安全的方式。那么,谁能告诉我我在这里所做的是否安全以及它的便携性如何?

谢谢。

0 投票
1 回答
2274 浏览

wpf - WPF DependencyProperty 在 UserControl 中公开?

我有一个用户控件,我想在其中设置一些自定义参数“半径”(双精度)和“内容源”(字符串 [])。

我的 UserControl 由几个嵌套控件组成:

我正在尝试通过以下方式公开参数:

但是,似乎有两个问题,“string[]”参数似乎导致崩溃,但大多数情况下,我根本无法设置“Radius”属性。我还需要做些什么来公开参数吗?

0 投票
3 回答
17605 浏览

php - PHP:将匿名函数作为参数传递

是否可以将匿名函数作为参数传递,并让它立即执行,从而传递函数的return值?

由于类型提示,这会引发错误Array,抱怨传递了一个对象。好吧,如果我删除类型提示,它当然会吐出Closure Object,而不是我想要的结果。我知道我在技术上传递了一个Closureto的对象实例myFunction,但是,我几乎可以肯定我已经在其他地方看到了这一点。这可能吗?如果是这样,我做错了什么?

为了便于讨论,我无法修改传递闭包的函数。

tl; dr:如何将匿名函数声明作为参数传递,从而导致返回值作为参数传递。

PS:如果不清楚,期望的输出是: