ruby-on-rails - 如何对三元运算符使用多重赋值?

标签 ruby-on-rails ruby variable-assignment ternary-operator

这个有效:

foo, bar = 1, 2
foo == 1  #true
bar == 2  #true

这也有效:

baz = true
foo = baz ? 1 : 2
foo == 1  #true

工作:

foo, bar = baz ? 1, 2 : 3, 4
# SyntaxError: (irb):4: syntax error, unexpected ',', expecting ':'
# foo, bar = baz ? 1, 2 : 3, 4
#                    ^

应该如何格式化才能使其有效?

最佳答案

这是使用三元运算符进行多重赋值的正确语法:

foo, bar = baz ? [1, 2] : [3, 4]

true 和 false 的返回值必须用方括号括起来。

希望对您有所帮助:)

关于ruby-on-rails - 如何对三元运算符使用多重赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44641347/

相关文章:

javascript - jQuery 事件处理程序无法正常工作

ruby - 如何将 .rb 文件中的值渲染到 .erb 文件中

Ruby Lisp 解释器转换算术符号?

python - Python中的多重赋值和求值顺序

c++ - C/C++ 赋值给 std::queue<char*>

ruby-on-rails - 我如何最好地表示一个 child 是特例的一对多关系?

ruby-on-rails - 从 Rails 中删除 Bootstrap

ruby-on-rails - Rails、Paperclip 和负载均衡器

ruby-on-rails - 通过 REST API 在 Redmine 中获取关注的问题

javascript - Javascript中变量赋值后的逗号