如果我有:
(Time.now.year - CardSignup.last.dob.year) = 5
然后怎么样:
(Time.now.year - CardSignup.last.dob.year) == (1..6)
返回false
?
答案 0 :(得分:8)
两点。
(1..6)===(Time.now.year - CardSignup.last.dob.year)
这应该有效。
请记住您向范围对象(1..6)发送消息。
答案 1 :(得分:4)
(1..6) === 5
triple equals(===)是您正在寻找的运营商。 ==用于将范围与范围进行比较。
===是范围的运算符,这就是(1..6)首先出现的原因。
答案 2 :(得分:4)
范围是数组,而不是单个值。单个值并不真正等于数组。你可能想要的是:
(1..6)=== Time.now.year - CardSignup.last.dob.year
或
(1..6).include?(Time.now.year - CardSignup.last.dob.year)