def is_fibonacci?(i,a=0, b=1)
i > a ? is_fibonacci?(i, a + b, a) : a <= i if true
end
我从未见过a <= i if true
似乎说“如果&lt; = i则返回true,否则返回false”
但是我能看到这个奇怪的命令的更多例子吗?
答案 0 :(得分:3)
之一我从未见过&lt; = i if true
检查左操作数的值是否小于或等于右操作数的值,如果是,则条件变为真。
i > a ? is_fibonacci?(i, a + b, a) : a <= i if true
表示 - i > a ? is_fibonacci?(i, a + b, a) : a <= i
当if
条件导致true
时,将评估整个表达式。