Как покрытие?работать в этом случае с персонажами? - PullRequest
3 голосов
/ 09 января 2012

У меня проблемы с попыткой понять, как работает метод cover? для класса Range.

Из документов сказано:

cover? (Val) → true или false : Возвращает true, если obj находится между начала и конца, т. Е. Beg <= obj <= end (или end exclusive, когда exclude_end? Равен true). </p>

Когда я делаю это:

test = "A".."X" 

Я ожидаю, что test.cover? "AX" потерпит неудачу, потому что объект AX мне кажется, что он находится за пределами этого диапазона. Однако он возвращает true . Тогда я делаю: test.cover? "XX" и он возвращает false

Я не вижу, как AX находится в этом диапазоне, и вообще я считаю, что трудно понять, как cover? работает для объектов, которые не являются числовыми. Поэтому мой вопрос: как получается, что объект «AX» находится в этом диапазоне, а объект «XX» - нет.

1 Ответ

3 голосов
/ 09 января 2012

Съемка в темноте здесь, но я предполагаю, что это потому, что "AX" идет после"A", поэтому он в пределах диапазона, в то время как "XX" идет после"X", который был бы вне диапазона.

Проверяя в IRB вы можете увидеть:

"AX" > "A" && "AX" < "B" => true
"XX" > "X" => true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...