问题标签 [default-parameters]

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

c++ - 具有一个默认参数的构造函数

假设我有一堂课

为什么我打电话

构造C(int =10)函数被调用,如果我调用

调用默认构造函数?如何避免这种情况?我只想执行我的构造函数,我试图将默认构造函数设为私有,但它不起作用。

0 投票
5 回答
8627 浏览

scala - Scala 额外的无参数构造函数和默认构造函数参数

我在构造函数上使用 Scala 2.8 默认参数,出于 Java 兼容性的原因,我想要一个使用默认参数的无参数构造函数。

出于非常明智的原因,这不起作用:

我想知道我是否缺少任何东西。任何不需要复制参数默认值的想法?

谢谢!

0 投票
4 回答
3277 浏览

c++ - 默认参数和可变参数函数

有没有办法在可变参数函数中指定默认参数?(也适用于模板)

0 投票
4 回答
3345 浏览

java - Java 中没有默认参数的技术原因

我一直在环顾四周,试图找出不包括 Java 中函数的默认参数的原因。

我知道可以使用可变参数或通过创建几个接受较少参数的重载函数并调用接受所有参数的真实函数来模拟行为。但是,这些选项都不符合例如 C++ 语法的清晰性和易用性。

有谁知道是否有可靠的技术原因可以制作类似的东西

在新版本的 Java 中不受欢迎或不可撤销?

0 投票
1 回答
7743 浏览

stored-procedures - 如何在存储过程中设置默认日期时间参数?

我在 Sybase 中声明了一个存储过程,其中一个参数是 datetime 类型。现在我想为这个日期时间分配一个默认值。

这是声明:

但是 Sybase 给了我一个错误

是否有可能做到这一点?如果没有,是否有解决方法?

0 投票
2 回答
2533 浏览

c++ - 为什么不允许使用此默认模板参数?

我有以下课程:

并尝试像这样实例化一个自动变量:

这给出了以下错误:

src/cpfs/entry.cpp:438:错误:'blah'之前缺少模板参数</p>

我究竟做错了什么?是void不是一个允许的默认参数?

0 投票
2 回答
1424 浏览

python - Python:将“尚未定义”的类名作为默认参数

我有一个“class1”,它必须能够创建一个不同类名的对象。类名作为称为“朋友”的参数传递。我希望“朋友”参数默认为名为“class2”的类名。

此外,我需要对“class2”类具有相同的行为。所以“class2”应该有“class1”作为默认的朋友参数:

现在我收到以下错误消息:

当然,我不能在 class1 之前定义 class2,因为这会导致类似的错误:“class1”未定义。你知道解决办法吗?

非常感谢你的帮助!

亨利

0 投票
4 回答
2149 浏览

python - 如何在 Python 中的另一个函数中找出特定函数参数的默认值?

假设我们有一个这样的函数:

我们可以使用自省来找出myFunction()使用 using的参数的名称myFunction.func_code.co_varnames,但是如何找出arg1'a default value'在上面的示例中)的默认值?

0 投票
2 回答
409 浏览

python - 具有默认参数的函数的问题

我对具有默认参数的函数有一些疑问。


输出:(当然,有些数字取决于 randint 返回的值。)

参考数:3
默认参数:([1, 2, 3],)
322
1119
740
([1, 2, 3, 321, 1118, 739],)
参考数:3
303
参考数:2
默认参数: ([1, 2, 3, 321, 1118, 739, 302],)
303
默认参数: ([1, 2, 3, 321, 1118, 739, 302],)
303


下面的代码给你一个比前一个少的数字,因为 b 和 my_list 不再引用同一个地址。

现在,我们有一种方法(唯一的方法?)到达函数的默认参数 b:


对不起我的长解释。这是我的问题:

  1. 这是一个问题吗?我的模块粉碎 my_list 变量的字典,然后现在 my_list 变量的默认地址比以前的要高。然后在其主体中使用名为 my_list 的全局变量的函数正在更改(增长),而我的默认参数没有。为什么在执行表达式时b看不到命名的全局变量?我知道,与 my_list 有不同的地址(因为相互对象(如列表)现在保证引用不同的、唯一的、新创建的列表),但是为什么 Python 实现了当 b 是函数参数时看不到全局变量?你能全面解释一下吗?my_lista + b[-1]bb

  2. 有没有办法使用 Veli.func_defaults[0] 获得相同的结果?然后执行此代码,假设我想更改名为 Veli 的函数的默认参数。我不能用 my_list 做到这一点,因为 my_list 和 b 有不同的地址。一种方法是更改​​列表的元素,Veli.func_defaults[0]。有什么不同的方法吗?

  3. (与上面的代码无关)如何获取变量的地址?例如,如何获取地址b?我使用内置函数,例如__hash__,但应该有更合适的方式。


笔记:

a)此代码可能出于任何原因无用,但我想了解意见。
b) linux2 上的 Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
[GCC 4.4.5]

0 投票
1 回答
179 浏览

c++ - 反正有没有使用成员函数作为默认参数?

它尝试了类似的方法,但不起作用。有没有办法获得类似的效果?