Ada*_*ton 3 ruby ternary-operator
以下代码行
<% invite.accepted ? { @going, @not_going = 'selected', '' } : { @going, @not_going = '', 'selected' } %>
Run Code Online (Sandbox Code Playgroud)
是我尝试将几个操作(计算表达式并相应地设置两个变量的值)压缩成一行.
它引发了一个错误,声称有一个意想不到的逗号.
有没有办法让这项工作,或者我只是超载可怜的三元运营商?
(顺便说一下,这只是个人实验.我不介意使用简单的 - 虽然很麻烦 - if/else语句)
编辑:以下代码行有效!我会尽快检查正确的答案!
<% invite.accepted ? ( @going, @not_going = 'selected', '' ) : ( @going, @not_going = '', 'selected' ) %>
Run Code Online (Sandbox Code Playgroud)
怎么样:
@going, @not_going = invite.accepted ? ['selected', ''] : ['', 'selected']
Run Code Online (Sandbox Code Playgroud)
w, x = y, z是相同的w, x = [y, z],所以这工作得很好,没有重复.