这个等式的右边是什么样的语法?

时间:2013-12-24 21:51:38

标签: ruby

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”

但是我能看到这个奇怪的命令的更多例子吗?

1 个答案:

答案 0 :(得分:3)

  

我从未见过&lt; = i if true

<=Ruby Comparison Operators:

之一
  

检查左操作数的值是否小于或等于右操作数的值,如果是,则条件变为真。

i > a ? is_fibonacci?(i, a + b, a) : a <= i if true表示 - i > a ? is_fibonacci?(i, a + b, a) : a <= iif条件导致true时,将评估整个表达式。