Сплат в не финальной позиции

Для следующего метода

def mixed_args(a,b,*c,d) 
  puts a,b,c,d
end
p mixed_args(1,2,3,4,5)

Я получаю это сообщение об ошибке:

синтаксическая ошибка, неожиданный tIDENTIFIER, ожидаемый tAMPER или '&'

Не могли бы вы дать мне подсказку, какую информацию мне не хватает?

1 ответ

Вы используете Ruby 1.8. Такое "расширенное" использование сплатов недоступно до 1.9.

В Ruby 1.8, сплат должен был быть последним аргументом: a,b,*c было хорошо. В Ruby 1.9 они представили возможность разбивать аргументы в середине списка, a,b,*c,d,

Другие вопросы по тегам