Следующая:Почему блок `catch` называется, если нет` throw`?
catch :something do
print true
end
напечатает true
на консоль. Я думал, что точкой catch
было то, что он был вызван только соответствующим throw
.
Менее важно, есть ли один синтаксис подкладки? Я был удивлен, что catch :something { print true }
поднимает SyntaxError
.
В Ruby 'catch' блока для' throw', что в некоторых других языках 'try' блок будет, что может быть довольно consfusing. – Borsunho
Если у вас есть два вопроса, задайте два вопроса. Ваш второй вопрос полностью не связан с первым вопросом, плюс, его уже спрашивали и отвечали десятки раз уже на StackOverflow. Не нужно повторять его на n + 1'-й раз (и получить неполный ответ, который рассматривает только симптом, но не объясняет первопричину, я мог бы добавить, не обижаюсь на @sawa). –