def [](index)
case index
when 0, -2: @x
when 1, -1: @y
when :x, "x": @x
when :y, "y": @y
else nil
end
end
Ошибка при определении собственного метода массив/хэш-
array.rb:3: syntax error, unexpected ':', expecting keyword_then or ',' or ';' or '\n'
when 0, -2: @x
^
array.rb:5: syntax error, unexpected ':', expecting keyword_end
when :x, "x": @x
^
array.rb:6: syntax error, unexpected ':', expecting keyword_end
when :y, "y": @y
^
array.rb:8: warning: else without rescue is useless
array.rb:9: syntax error, unexpected keyword_end, expecting $end
Я пишу это как из книги, Рубиновое язык программирования.
Моя рубин версия рубин 1.9.3p0
Кто-нибудь видел это раньше?
синтаксисе 'случае/when' заявление было изменено с рубином 1,8 до рубинового 1,9. Вот в чем причина. – Casper
Нет, не было. Синтаксис двоеточия никогда не разрешался, даже в 1.8. Это просто случайно сработало. –