Я запускаю 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')