Тестовый пример Ruby Range SyntaxError - PullRequest
0 голосов
/ 18 октября 2019

Я запускаю Range тестового примера Ruby , но получил ошибку в строке:

assert_equal([*"a".."z", "aa"], ("a"..).take(27))

Сообщение об ошибке:

test/ruby/test_range.rb:38: syntax error, unexpected ')'
...qual([*"a".."z", "aa"], ("a"..).take(27))
...                              ^

Я также попытался ('a'..) в irb и получил ошибку синтаксиса:

irb> ('a'..)
Traceback (most recent call last):
        1: from /home/sergioro/.rvm/rubies/ruby-2.5.3/bin/irb:11:in `<main>'
SyntaxError ((irb):9: syntax error, unexpected ')')
('a'..)

Мой вопрос: что такое ('a'..)? Этот синтаксис используется несколько раз в тестовом примере, но он не описан в документации Range .


Обновление:

Установка RubyВерсия 2.6.4 исправила ошибку для ('a'..). Но есть ошибка, если бесконечный диапазон находится слева, как в test_range.rb: 536 :

assert_operator(..'Z', :===, 'ANA')

Ошибка:

test_range.rb:536: syntax error, unexpected .., expecting ')'
    assert_operator(..'Z', :===, 'ANA')

1 Ответ

1 голос
/ 18 октября 2019

('a'..) - это бесконечный диапазон , введенный в ruby ​​2.6 . Вам нужно установить Ruby 2.6 и запустить этот тест на ruby ​​2.6.

...