对延续的概念感兴趣,我开始阅读维基、帖子,并找到了这个“简单”的例子:
reset {
...
shift { k: (Int=>Int) => // the continuation k will be the '_ + 1' below
k(7)
} + 1
}
// result: 8
如果不了解 Scala,我完全迷失了方向,无法弄清楚 8 是如何产生的。
以下是我试图弄清楚其含义但失败的方法。有谁能给我一个简短的解释吗?是的,有 Scala 语法书,但它们太厚了,我对理解定界延续概念比掌握 Scala 语言更感兴趣......
-
(Int=>Int)
看起来像一个C#委托,输入是Int,输出是Int。
-
k: (Int=>Int) => k(7)
我在这里迷失了... k 是什么,(Int=>Int)=>k(7) 是什么?
-
shift { k: (Int=>Int) => k(7) } + 1
更失落了...
-
reset { ...; shift { k: (Int=>Int) => k(7) } + 1 }
甚至越来越失落……
我找到了 Chris League 的演讲,“Monadologie:针对类型焦虑的专业帮助”(http://vimeo.com/13304075 http://vimeo.com/13304075) 包含分隔延续的更好示例之一。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)