gpt4 book ai didi

ruby-on-rails - Ruby 三元运算符(或)或运算符

转载 作者:数据小太阳 更新时间:2023-10-29 07:46:13 29 4
gpt4 key购买 nike

在 Ruby 中,我们经常使用三元运算符来检查条件。类似地,我们有 or operator(||) 用于使用两者中的任何一个。

我有两种方式都可以使用的场景:三元运算符

@question = question.present? ? question : Question.new

或运算符

@question = question || Question.new

这些条件之间有什么区别,因为两者都给出相同的输出?还有哪个更适合在 Controller 方法中使用,因为我没有经验可以自己决定。

最佳答案

这里的区别在于,例如,[].present?''.present? 都返回 false。所以:

question = ''
@question = question.present? ? question : Question.new
# => result of Question.new
@question = question || Question.new
# => ''

但是如果 question 只能包含 nilQuestion 实例(始终是 present,假设它是一个常规的 ActiveRecord 模型)。所以这更多是个人品味问题。

关于ruby-on-rails - Ruby 三元运算符(或)或运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29163730/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com