相关疑难解决方法(0)

什么是Scala延续以及为什么要使用它们?

我刚刚完成了Scala编程,我一直在研究Scala 2.7和2.8之间的变化.似乎最重要的一个是continuation插件,但我不明白它对它有用或它是如何工作的.我已经看到它对异步I/O很有用,但我还是找不到原因.关于这个主题的一些更受欢迎的资源是:

关于Stack Overflow的这个问题:

不幸的是,这些引用中没有一个试图定义什么是continuation或者shift/reset函数应该做什么,而且我没有找到任何引用.我无法猜测链接文章中的任何示例是如何工作的(或者他们做了什么),因此帮助我的一种方法可能是逐行浏览其中一个示例.即使是第三篇文章中的简单文章:

reset {
    ...
    shift { k: (Int=>Int) =>  // The continuation k will be the '_ + 1' below.
        k(7)
    } + 1
}
// Result: 8
Run Code Online (Sandbox Code Playgroud)

为什么结果是8?这可能会帮助我开始.

continuations scala scala-2.8 delimited-continuations

84
推荐指数
5
解决办法
2万
查看次数

关于Scala延续的问题

据我所知shift,reset只是图书馆的功能.将所有延续内容实现为库并且Scala编译器没有做任何特殊工作来转换reset块内的代码是否正确?

continuations scala

4
推荐指数
1
解决办法
471
查看次数