
1 timonwong 2013-09-01 09:48:35 +08:00 continuation |
2 mikawudi 2013-09-01 11:13:54 +08:00 csharp的?感觉更像迭带器模式的语法糖. |
3 msg7086 2013-09-01 20:41:18 +08:00 via iPad 从Ruby角度来说,相当于call block |
4 cj1324 2013-09-01 23:47:48 +08:00 yield 还能带参数。 |
5 harmy 2013-09-01 23:59:22 +08:00 你可以把它想象成小叮当的传送门 |
6 Ryannnnnnn 2013-09-02 00:19:33 +08:00 你可以把它想象成小叮当的传送门 |
7 Mutoo 2013-09-02 09:25:55 +08:00 协同程序(coroutine)是另一种有趣的开发方式,用起来确实有点像“断点”的感觉,但是它只pause一个coroutine而不影响其它线程。并且可以在yield和resume的时候交换数据。而且很容易用协同程序实现waitSecond();waithSignal();之类的方法,所以经常被使用在游戏开发中,实现剧情对话、AI之类的。 相比之下还有另一种开发就是比较常见的 Javascript 异步程序。 |
8 yakczh OP thead.join呢,也应该是pause主线程吧 |
9 seeker 2013-09-02 10:17:25 +08:00 那个语言的yeild?c# ruby scala还是其他? |
10 dorentus 2013-09-02 10:27:07 +08:00 |
12 6711411 2013-09-02 10:44:18 +08:00 |
13 msg7086 2013-09-02 16:32:43 +08:00 @dorentus 好像实现起来稍微有一些不同 比如ruby里 def f: yield 5 print 'a' end f { print i } 这里的yield 5就相当于 (print i)(5) python似乎会把这个流程反过来做?因为根据说明上写的,yield以后的常规语句 print 'a' 会被略过执行。 求指导 |
14 tioover 2013-09-03 01:59:19 +08:00 via Android 才想起来,我写程序那么多年还没用过断点呢 |