什么是非本地回报?

dal*_*cai 11 programming-languages function

什么是非本地回报?在什么情况下它是有用的?请举例解释.

rec*_*ive 11

这是一篇关于在ruby块的上下文中使用非本地返回的好文章.

Ruby的块支持非本地返回(一些引用),这意味着块的返回行为与从块的原始上下文返回的行为相同.

它基本上意味着你可以从一个函数调用一个块,并且该块能够从原始函数返回.


Ern*_*ill 5

它意味着退出函数并在调用函数的位置之外的其他位置结束.它主要用来指异常(即try,throwcatchJava和C++),但它也可能意味着机制,例如setjmp/longjmp在C.