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

c# - 扩展方法中的可选字符串参数

我有一行代码说

类的布局方式如下:-

我有一个功能要求我能够像这样传递一个字符串环境

但是当我尝试修改我的 Src 函数以支持上述函数调用时,如下所示:

它说它找不到具有一个参数的函数。传入可选参数 env 的最佳方法是什么?

0 投票
2 回答
3765 浏览

f# - 为什么在 F# 中使用默认参数(FSharpOption) 是引用类型吗?

C# 和 F# 对默认(或可选)参数有不同的实现。

在 C# 语言中,当您向参数添加默认值时,您不会更改其基础类型(我的意思是参数的类型)。实际上,C# 中的可选参数是一种轻量级的语法糖:

但 F# 以不同的方式实现此功能。与 C# 不同,F# 可选参数在被调用者站点而不是在调用者站点解析:

这种实现是绝对合理的,而且功能更强大。C# 可选参数仅限于编译时常量(因为可选参数存储在程序集元数据中)。在 F# 中,默认值可能不太明显,但我们可以使用任意表达式作为默认值。到目前为止,一切都很好。

由 F# 编译器转换Microsoft.FSharp.Core.FSharpOption<'a>引用类型的 F# 可选参数。这意味着在 F# 中对带有可选参数的方法的每次调用都将导致在托管头部进行额外分配,并将导致垃圾收集压力

我不担心应用程序代码,但这种行为可能会大大降低库的性能。如果每秒调用数千次带有可选参数的库方法怎么办?

这个实现对我来说真的很奇怪。但也许有一些规则库开发人员应该避免使用此功能,或者 F# 团队将在 F# 的未来版本中更改此行为?

以下单元测试教授认为可选参数是引用类型:

0 投票
2 回答
295 浏览

bash - 在脚本 bash 中解析混合参数

我需要实现一个使用混合(可选和非可选)参数调用的脚本,例如 -

以随机顺序。我已经阅读了很多关于getopts内置命令的内容,但我认为它并不能解决我的问题。我无法更改论点的顺序,所以我不明白如何一一阅读论点。
有人有什么想法吗?

0 投票
3 回答
25155 浏览

ruby - Ruby 中具有默认值的可选参数

我想创建一个具有默认值的可选参数的函数

并使用我只想指定的参数调用函数

我如何在 Ruby 1.9.2 中实现这一点?

0 投票
3 回答
952 浏览

common-lisp - 关于 common-lisp 中的可选参数的错误

SBCL 64 位,1.1.7

如果我想创建一个包并使用包中的一些符号:CL,我将创建一个像这样的包:

但是,在这个包中,如果我定义一个带有可选参数的函数并在没有提供可选参数的情况下调用它,我总是会得到一个错误:

定义一个宏得到同样的错误,但有更多信息:

我想可能是因为缺少 :CL 中的一些符号,那么如何解决这个问题呢?谢谢。

0 投票
3 回答
1094 浏览

c++ - 将可选迭代器传递给函数

是否可以为函数定义一个可选迭代器,该迭代器将根据函数的存在与否改变函数的行为?

举一个具体的例子,考虑定义

null_iterator将是一些表明用户不想要此输出的值。

通过定义两个单独的函数来解决这个问题,一个有边界并在定义中探索,另一个没有它,这不是一个好的选择,因为它需要重复代码(因为函数中的逻辑与是否frontier存在explored。)

是否有某种模式或替代方法null_iterator可以使这种类型的代码在 C++ 中实现?

0 投票
3 回答
91 浏览

javascript - 在 JavaScript 中正确使用可选参数

我们正在使用自定义日期时间选择器,到目前为止必须返回日期和时间。但现在条件发生了变化,有时我只需要返回日期,所以我决定添加一个可选参数。现在脚本是这样的:

但即使它似乎有效(我只尝试了几次)我不太喜欢这个,但可能是因为我不习惯 JavaScript 的方式。如果不是因为一些示例代码,我会这样做:

但是我看到的几个关于在 JS 中使用可选参数的例子我还没有看到这样的东西。在 JavaScript 中做这种事情的正确方法是什么?

0 投票
1 回答
851 浏览

class - 使用 ocaml 的方法中的可选参数


我在方法类中遇到了可选参数的问题。

让我解释。我有一个寻路类graph(在 Wally 模块中)和一个他的方法shorthestPath。它使用可选参数。事实是,当我调用(使用或不使用可选参数)此方法 OCaml 返回类型冲突时:

shorthestPath类型是:

我同样尝试将选项格式用于可选参数:

只有在我删除可选参数的情况下,OCaml 才会停止侮辱我。

预先感谢您的帮助 :)

0 投票
2 回答
26279 浏览

c# - 多个可选参数调用函数

假设我有一个像下面这样的函数它需​​要 3 个参数和 2 个可选值

现在我想像下面这样调用这个函数怎么可能?

所以我希望它使用默认参数 b=2

但它以这种方式给出错误。

这里的错误信息

C# 4.5

0 投票
2 回答
95 浏览

php - PHP中具有多个参数的函数

我开始在 php 中学习 oop,我想知道我接受多个参数的方法有什么问题。