问题标签 [optional]

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

c++ - 提升::可选和来自 char[] 的隐式构造函数

我已经习惯于通过让编译器找出所涉及的魔法来以下列方式初始化 std::strings

以下将不起作用,因为这两种类型之间没有显式转换:

然而,这确实有效:

现在,是否没有办法将隐式调用的单参数构造函数菊花链化以允许第二种形式?我问的原因(虽然我不想用细节来打扰你)是有一大堆类需要填充可选成员。必须显式键入所有内容似乎是一种负担(我并不太担心自己,但我正在开发一个开源 API,并希望为我的用户提供尽可能多的舒适感)。任何建议表示赞赏。


编辑:对不起,我是新手,应该提供更多澄清的代码示例。我有一些类(不是我自己建模的,只是在 C++ 中实现它们),其中包含要填充的可选成员,如下所示:

我希望我的 API 用户能够指定的是:

并不是:

再次感谢。

0 投票
1 回答
189 浏览

php - 如何使用可选字段创建 WordPress 自定义帖子类型

在 wordpress 中为动态项目(例如投资组合项目)创建自定义帖子类型时,某些字段可能对某些投资组合项目不可用。但是,如果您忽略此字段,则会在 wordpress 中出现验证错误,因为根据 WordPress,该字段是必需的。有人如何将自定义帖子类型中的某些字段设为可选?所以不会发生验证错误?

0 投票
2 回答
7320 浏览

ruby - 在 Ruby 中为可选关联处理“nil:NilClass 的未定义方法‘每个’”的优雅方式?

我有一个场景,我有可选的关联。有时关联存在,有时则不存在。

当我尝试在屏幕上显示数据时遇到问题(想想一个简单的索引操作)。

考虑以下应用程序设置:

  • 项目有许多可交付成果
  • 项目有许多部署记录(此模型的两个属性是“名称”和“描述”)

我有兴趣从可交付成果索引操作中提取部署记录关联。

我让它与以下代码一起工作,但我觉得它有点难看:

重写这个更优雅的方式是什么?我试过

但我一直遇到 nil:NilClass错误的未定义方法“每个” 。我似乎无法找到一种方法来优雅地绕过在 Nil 对象上调用的 .each 。我有一种感觉,不知怎的,我应该能够更优雅地做到这一点,但我不能把手指放在上面。

我在代码库中多次重复使用这个片段,所以如果我只是将它复制并粘贴到任何地方,那额外的两行真的会害死我。我很高兴关联检索失败,我只想优雅地失败,没有任何错误或消息。有任何想法吗?

0 投票
3 回答
12746 浏览

groovy - 带有可选参数的 Groovy 闭包

我想定义一个闭包,它接受一个参数(我用 引用it)有时我想将另一个附加参数传递给闭包。我怎样才能做到这一点?

0 投票
1 回答
1735 浏览

jsf-2 - JSF 可选旧值在清除它们后返回

我正在使用 JSF、PrimeFaces 3.2、Omnifaces 1.1、JBoss AS 7.1.1、Final、Mojarra 2.1.7

我有一个表单,其中包含两个不需要的数字字段,如下所示:

我还在 faces-config 上设置了 OmniFaces ResetInputAjaxActionListener。

bean 属性 field1 和 field2 是整数。

现在的问题是,如果我在 num1 上输入 123,在 num2 上输入 345,然后单击 OK 就可以了。如果我然后从 num1 中删除 123 并将 abc 放在 num2 上。然后显示验证(转换)错误,但 123 又回来了!

如果我让它们都 required=true 那么一切都很好。

有没有办法让这个与可选字段一起工作?

0 投票
1 回答
141 浏览

objective-c - 如何从Objective C中的标准键盘后面动画地隐藏/显示可选键盘

我已将 inputAccessoryView 设置为 XIB 文件视图的引用出口,其中包含用于可选键盘的按钮。这使得视图在标准键盘显示时显示,在标准键盘隐藏时隐藏。

当它在中间区域被点击时,也有必要隐藏可选键盘。这使它在标准键盘仍然显示时被隐藏。为此,我还将另一个属性设置为同一个 XIB 文件视图的引用插座。

我隐藏了可选键盘,将其框架的 origin.y 设置为一个高数字:

这使得可选键盘被隐藏,但动画在标准键盘的顶部而不是后面。您可以看到辅助键盘从上到下遍布整个窗口,直到它被隐藏。

有没有办法将它隐藏在标准键盘“后面”,使其隐藏过程看起来更好?

我编辑了这个问题,因为现在隐藏效果很好,克里斯的回答建议改变视图的大小。

现在的问题是再次显示它:当我点击一个按钮时,视图应该以相同的大小再次显示。在按钮点击事件中,我添加了以下代码:

这是为了设置可选键盘的原始大小和原始 y 位置。它得到了原来的位置,但有两件事使它出错:

1)它显示在标准键盘上方/顶部,所以我们回到隐藏问题,但现在显示时。再次,您可以看到可选键盘从下方遍布整个窗口,直到它到达其原始位置。

2) 属于包含可选键盘的主视图的按钮尺寸变短,就好像它们被压碎了一样。

再次展示键盘以避免此问题的最佳方式是什么?

0 投票
2 回答
9261 浏览

java - 如何仅在 bean 存在时才注入 bean

我有以下弹簧上下文文件结构(->代表“包含”):

C.xml定义一个 beanc

B.xml定义b一个依赖于c

c显然这对 A2 失败,因为在 context中没有定义A2

我如何指定类似的内容:如果您c在上下文中将其注入,b否则只需注入null

我调查了 Spring EL,但是

只是给了我一个NoSuchBeanDefinitionException似乎是价值的名字b.toString()!?

Btw:我已经知道这东西乱七八糟,应该尽快清理干净。

0 投票
1 回答
29111 浏览

php - PHPDoc 可选参数

SO上已经有2个类似的问题,但似乎没有一个答案有效。

PHPDoc 似乎没有将我的函数中的可选参数识别为可选参数,例如:

它不应该将 $encoding 识别为可选的还是我在这里遗漏了什么?我真的很想用谷歌搜索并阅读文档,但我发现的只是:

如果您没有在实际代码中指示参数是可选的(通过“$paramname = 'a default value'”),那么您应该在参数的描述中提及该参数是可选的。

所以我认为我的代码没有问题,但我在文档中得到的只是:“__construct(string $encoding)”,没有任何标志,该参数是可选的。

0 投票
10 回答
41202 浏览

java - 使用 Java 8 的 Monad

为了帮助理解 monad 是什么,有人可以提供一个使用 java 的示例吗?他们有可能吗?

如果您从此处下载预发布的 lambda 兼容 JDK8,则可以使用 java 进行 Lambda 表达式http://jdk8.java.net/lambda/

下面显示了使用此 JDK 的 lambda 示例,有人可以提供一个比较简单的 monad 吗?

0 投票
1 回答
350 浏览

parameters - 骡云连接器中的可选参数

我想使用@Optional 和@Default 在我的自定义云连接器中构建一个处理器,如下所示:

但是我无法编译java,这不可能吗?