Прошлой ночью я размышлял о том, что я считаю продвинутыми функциями языка руби, а именно объектами Continuations (callcc) и Binding. Я имею в виду продвинутый, потому что у меня есть статический тип языка oo langages (C #, Java, C ++), я недавно открыл для себя ruby, поэтому эти возможности языка мне не очень знакомы.
Мне интересно, что может быть в действительности использование этих возможностей языка. По моему опыту, все может быть сделано с помощью статически типизированных языков, но иногда я согласен не очень умно. Я думаю, что я понял красоту / интерес продолжения, читая эту прекрасную статью от Сэма Руби: http://www.intertwingly.net/blog/2005/04/13/Continuations-for-Curmudgeons
Тем не менее, я потерян с привязывающим объектом. Может ли кто-нибудь предоставить мне некоторые реальные примеры того, что можно сделать с помощью объекта Binding, но не очень умно, если в языке отсутствует концепция рубинового Binding?
Я думал о том, чтобы откатить некоторые объекты до их начального состояния, когда что-то пойдет не так во время длительного процесса, но я не уверен, что это может быть реализовано с помощью объекта Binding, и я думаю, что это может быть реализовано довольно разумно путем клонирования объектов до обработка и замена измененного объекта их клонами, когда что-то идет не так во время обработки. Так что это не правильный пример, я думаю.
Заранее спасибо за помощь.