问题标签 [optional-arguments]

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 投票
3 回答
1406 浏览

python - 将自定义类设置为该类中方法的可选参数类型

tl; dr:我想知道如何将可选参数的类型设置为自定义构建的类,即;

代码:

我试过了:

很长的故事:

到目前为止,我已经进行了几次搜索,但我认为它更多的是我使用的术语。

我正在构建一个 2d Point/Vector 类(我知道,已经完成了,但我正在学习并发展我的写作风格。),并且在大多数情况下,我已经厌恶使用无类型的位置参数,主要用于易于维护。

我无法弄清楚如何将可选 arg 的类型设置为自定义构建的类,例如上面的 Point,而不是 python 的内置类型之一。

注意:我知道简单地制作 pa 位置 arg 会起作用,而且确实如此,但只要没有主要原因不这样做,除了它对 python 的哲学来说有点僵化,我想键入 args 以使代码清晰。

怎样才能做到这一点,是否值得,以这种方式做事有什么缺点吗?

也非常欢迎任何有关此类事情的最佳实践的提示。

0 投票
2 回答
12966 浏览

javascript - Passing multiple optional parameters in JavaScript

In Lua I've made my own Event system and I wanted to convert and use it in JavaScript, here's the code in Lua:

Which works flawlessly. Here's what I have for JavaScript:

Which doesn't work at all.

Example usage:

0 投票
2 回答
75344 浏览

python - 为什么空字典在 Python 中是一个危险的默认值?

我将 dict 作为 Python 函数的可选参数的默认值,并且 pylint(使用 Sublime 包)告诉我这很危险。有人可以解释为什么会这样吗?并且是更好的替代品None吗?

0 投票
1 回答
418 浏览

fortran - 是否有必要在将可选参数传递给另一个可选参数之前检查它?

关于可选参数的使用,我有以下问题。假设我aaa在模块中定义了以下例程m_aaa

现在我有第二个使用模块的例程m_aaa。是否可以像这样传递可选参数

或者是否有必要像这样检查可选参数 d 的存在:

谢谢你的帮助。

0 投票
1 回答
1541 浏览

vba - 如何在 VBA 中声明具有空数组默认值的可选函数参数?

我正在尝试构建下面的例程。例程的最后一个参数是一个可选数组,默认情况下它应该有两个空字符串。下面的声明不起作用,它给了我这个错误:编译错误:需要常量表达式

0 投票
1 回答
81 浏览

selenium - 硒与 TestNG

我是使用 TestNG 的 selenium 新手。如果你能回答我,那将是很大的帮助。我正在为将创建文本注释的 webApplication 编写测试用例。为了测试不同类型的输入,使用了@dataProvider。因为在输入所有值后我有两个选项,即我可以保存或者我可以取消注释创建。我使用了引发异常的@optional 注释。您能否解释一下我们是否可以将@dataprovider 与@optional 注释一起使用。我写过这样的代码。

0 投票
1 回答
3210 浏览

python - Python中可变数量的参数和递归

我想编写一个递归函数,它接受可变数量的参数(每个参数都是一个可迭代的列表或集合)并返回每个参数的所有连接组合的集合。我学会了如何编写具有可变数量参数的函数,并且知道如何编写递归函数,但我不知道如何在 Python 中将这两者放在一起(或者甚至可能)。

这是我的代码:

预期输出:

我的代码的“问题”lastdigits = generate_combinations( args[1:] )在第 7 行: 。我在这里想要做的是将除第一个参数之外的所有原始参数传递给函数(从而创建递归)。这显然不是这样做的方法。我的问题:这可以做到吗,怎么做?

Ps:我知道我可以使用带有一个参数的列表列表来完成相同的操作,但我很好奇这是否完全有可能。

0 投票
3 回答
2574 浏览

c# - 在 Python(使用 Python.NET)中创建 C# Nullable Int32 以调用带有可选 int 参数的 C# 方法

我正在使用Python.NET加载 C# 程序集以从 Python 调用 C# 代码。这很干净,但是我在调​​用如下所示的方法时遇到问题:

Our.Namespace.Proj.MyRepo 中的一个方法:

我可以在存在可选的第三个参数但不知道为第三个参数传递什么以匹配空情况的情况下调用该方法。

iPython Notebook 表明最后一个参数应该是以下类型:

只是不确定如何创建一个匹配 Null 情况的对象。

有关如何创建 C# 识别的 Null 对象的任何建议?我假设通过本机 Python None 会起作用,但事实并非如此。

0 投票
1 回答
70 浏览

python - 如何发布 python 函数的参数列表?

我正在尝试找到一种优雅的pythonic方法来解决以下问题。我有一个类,VideoAnalysisWidget创建一大堆子小部件,例如VideoFileChoiceWidgetRegionWidget等。我想VideoAnalysisWidget.__init__将任何适当的关键字参数传递给VideoFileChoiceWidget.__init__,,RegionWidget.__init__...为了实现这一点,我想使用如下代码:

然后,在其他地方:

以这种方式做事,我的代码VideoAnalysisWidget不必跟踪VideoFileChoiceWidget. 如果我稍后修改VideoFileChoiceWidget以采用新参数,则无需更改远程VideoAnalysisWidget代码。

现在问题来了。VideoFileChoiceWidget如果只有明确定义的关键字参数,这很好用。(顺便说一句,除了这些函数之外,我可以不使用任何位置参数self。)但是如果VideoFileChoiceWidget还有**kwargs参数呢?事实上,它确实如此,因为它是 的子类ContainerWidget,所以我想将任何额外的额外参数传递给它。(并且ContainerWidget只需要**kwargs。)从根本上说,问题是我的这个解决方案不能嵌套。

一个可能的解决方案是将附加参数列表附加到VideoFileChoiceWidget.__init__,例如:

...然后修改filterArgs以使用它(如果可用)。但是有没有更好,更蟒蛇的方式来做到这一点?

0 投票
2 回答
187 浏览

function - 将可选参数传递给函数(它们也是可选的)

背景

当我尝试将可选参数传递给另一个函数时遇到问题。被调用的函数也有可选参数,所以我试图让这种可选性一直传播。

我遇到的问题是,由于冷聚变没有 null 的概念(或者至少不是真的),当省略可选参数时,它实际上不存在。

例如在上面的代码中,如果foo在没有任何参数的情况下调用我会收到错误

问题

有没有办法将可选参数传递给另一个函数,它们也是可选的而不会导致错误?

我考虑过的解决方案是:

  • 路过argumentcollection=arguments。但这似乎非常令人不快,因为它很难读取 bar 真正需要哪些参数(我尝试过调试这样的代码,这并不有趣)。foo如果and使用不同的参数名称,它也不起作用bar
  • 一系列 if StructKeyExists 语句仅传递可选参数(如果存在)。这会起作用,但很快就会变得非常复杂。