小编Rav*_*avi的帖子

如何使用三元运算符将值推入数组?

数组返回的是布尔值,而不是三元运算符分配的值

和代码...

arr = []
arr <<  true == false ? 'a' : 'b'
# Expecting, the output of arr to be ['b']. But instead, I was getting [true] 
Run Code Online (Sandbox Code Playgroud)

为什么会这样呢?

为了获得正确的价值,我必须这样做。

arr << if true == false
         'a'
       else
         'b'
       end  

# and also, = also works fine
arr =  true == false ? 'a' : 'b' # arr has 'b'

Run Code Online (Sandbox Code Playgroud)

为什么使用三元运算符时行为会有所不同?

ruby

4
推荐指数
2
解决办法
173
查看次数

标签 统计

ruby ×1