Callcc můžeme využít k vytváření „obnovitelných/přerušitelných“ funkcí. Následující funkce vrátí hodnotu 1. Když ji obnovíme a vrátí hodnotu 2.
def resumable
callcc do |continuation|
$resume_point = continuation
return 1
end
return 2
end
x = resumable
puts "Again, X = #{x}"
$resume_point.call if x != 2Při spuštění vytiskne:
Again, X = 1 Again, X = 2
