Как вы можете сделать число равным диапазону? - PullRequest
1 голос
/ 18 марта 2011

Если у меня есть:

(Time.now.year - CardSignup.last.dob.year) = 5

Тогда почему:

(Time.now.year - CardSignup.last.dob.year) == (1..6)

Возвращает false?

Ответы [ 3 ]

8 голосов
/ 18 марта 2011

Два очка.

  1. У тебя это перевернулось.
  2. Вы пропали без вести =

(1..6) === (Time.now.year - CardSignup.last.dob.year)

Это должно сработать.

Помните, что вы отправляли сообщение объекту диапазона (1..6).

4 голосов
/ 18 марта 2011

Диапазон - это массив, а не одно значение.Одно значение на самом деле не равно массиву.То, что вы можете захотеть:

(1..6) === Time.now.year - CardSignup.last.dob.year

или

(1..6) .include? (Time.now.year - CardSignup.last.dob.year)

4 голосов
/ 18 марта 2011
(1..6) === 5

triple equals (===) - это оператор, которого вы ищете. == для сравнения диапазона с диапазоном.

=== является оператором диапазона, поэтому (1..6) идет первым.

http://www.ruby -doc.org / ядро ​​/ классов / Range.html # M000698

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...