问题标签 [continuation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 为什么在 Ruby 1.9 中延续是邪恶的?
我在 Ruby 世界中相对较新。我不知道,该怎么想。在“Ruby 编程语言”中,我读到我不应该在新代码中使用 Continuations 而是使用 Fibers。我发现了这个演示文稿(从 2008 年开始)http://www.atdot.net/~ko1/pub/ContinuationFest-ruby.pdf它说 Continations 被破坏了,他们的 Ruby 实现的创建者是罪犯。另一方面,我阅读了一些博客,其中作者对延续感到兴奋,而他们对延续错误并不感到难过。所以我不知道该怎么想。我知道使用 Fibers 而不是 Continuations 更好,但是当 Fibers 不够时该怎么办?我可以使用 Continuations 还是它们坏了(2008 年的演示文稿这么说)?为什么 Matz 将 Continuations 踢到 stdlib?为什么有票,他会把它踢出鲁比?
playframework - Controller.await(int millis)之后没有重定向的动作链接
我不确定这是否没有按预期工作,这只是我感到困惑。
我想做的是异步延迟一个动作,await(int millis)
我似乎可以成为朋友。
这是发生的事情:
1. Application.index
显示一个发送 POST 到的表单Application.something
。
应用程序/控制器/Application.java
应用程序/视图/应用程序/index.html
2. Application.something
做它的事,然后链接回index
.
应用程序/控制器/Application.java
3. Play 引发应用程序错误:“模板 Application/something.html 不存在”。
因此,当在执行被暂停/恢复后被render()
调用时,它会尝试渲染 的模板,这当然不存在。Application.index
Application.something
Application.something
如果我删除await(500)
一切正常(发出 302index
并按预期呈现)。
我可以强制重定向
并得到我想要的结果,但这感觉很难看。
我也可以设置
await
按预期在和 作品中的渲染Application.index
(实际上是作品中的魔力)之后手动进行Controller.template()
。
所以基本上,一切都好,我被迫在调用之后使用字符串await
而不是方法调用,还是有点不对劲?
干杯,托拜厄斯。
python - 语法错误:“python 中的续行字符后出现意外字符”数学
我在创建这个 Python 程序时遇到问题,我正在创建这个程序来做数学、计算等解决方案,但我收到了语法错误:“python 中的行继续符后出现意外字符”
这是我的代码
我的问题是\1.5我试过\1.5但它不起作用
使用 python 2.7.2
c# - 当阵列中的一个或多个任务被取消或失败时继续?
如果我有一系列任务,Task[]. 如何编写仅在数组中的一个或多个任务失败(或被取消)时运行的延续?
recursion - SML - 使用延续在 trie 中收集单词
我有一个数据类型 trie = char 的节点 * (trie ref) list | Empty 我想收集 trie 中的所有单词,使用这两个相互递归的函数:
然后用 fun all_entries t = all_words t (fn l => map (fn w => String.implode w) l) 调用它们;
这必须通过延续来完成。我以非延续形式写了它,如下所示:
但我不知道如何将它们转换为延续形式!这是我到目前为止所拥有的,但它不起作用:
我已经坚持了很长时间,我将不胜感激。
c# - C# 等待与延续:不完全一样?
在阅读了Eric Lippert 的回答后,我的印象是await
和call/cc
几乎是同一枚硬币的两个方面,最多有句法上的差异。然而,在尝试call/cc
在 C# 5 中实际实现时,我遇到了一个问题:要么我误解了 call/cc(这很有可能),要么 await 只是让人想起call/cc。
考虑这样的伪代码:
如果我对 call/cc 的理解是正确的,那么应该打印:
至关重要的是,当调用 continuation 时,程序状态会与调用历史记录一起恢复,从而foo
返回到main
并且永远不会返回到bar
。
但是,如果await
在 C# 中实现,则调用延续不会恢复此调用历史记录。foo
返回bar
,并且没有办法(我可以看到)await
可用于使正确的通话记录成为延续的一部分。
请解释一下:我完全误解了 的操作call/cc
,还是与 的操作await
不太一样call/cc
?
既然我知道了答案,我不得不说有充分的理由认为它们非常相似。考虑一下上面的程序在伪 C#-5 中的样子:
因此,虽然 C# 5 风格从不给我们传递值的延续对象,但总体而言,相似性是相当惊人的。除了这次很明显“After”永远不会被调用,这与 true-call/cc 示例不同,这是喜欢 C# 并赞扬其设计的另一个原因!
f# - 如何在 F# 中组合状态和延续单子
我正在尝试使用任务并行库对树求和,其中子任务仅在遍历树直到一定深度之前才产生,否则它使用连续传递样式对剩余的子节点求和,以避免堆栈溢出。
然而,代码看起来很丑 - 使用状态单子来携带当前深度会很好,但状态单子不是尾递归的。或者,我将如何修改延续单子以携带状态?或者创建状态和延续单子的组合?
我在这篇博文中有更多细节:http: //taumuon-jabuka.blogspot.co.uk/2012/06/more-playing-with-monads.html
objective-c - Objective C - 如何以编程方式停止执行以进行调试,同时允许继续?
当以编程方式指定条件时,我已经成功地让调试版本停止执行,使用目标 C 中的标准 NSAssert(condition_which_should_evaluate_true, @"error message") 语句,并在断点导航器中添加“所有异常”断点。
很好,但是大多数时候我在调试时,我也想在那之后继续正常的程序执行。通常在断言失败后继续程序有助于追踪混淆/错误的来源。至少据我记得当我在不同的平台上编程时。
在 Objective C 开发中是否有这样做的标准方法?
python - 如何限制 Python 中复杂行的长度?
我正在根据PEP8格式化我的代码,但我有一个小问题;就是这个:
如何将其分成 72-79 个字符的行?
scheme - 方案:嵌套调用/cc 如何为协程工作?
我正在查看来自http://community.schemewiki.org/?call-with-current-continuation的协程的以下示例:
多余的工作:
对于 call/cc 的第一次使用,上下文应该是什么?当我说上下文时,我的意思是由于 callcc 的跳转,我们应该“返回”到哪里?
据我了解,第一次调用 call/cc 时,do-other-stuff 本质上变成了一个过程,执行多余计算的代码,然后在集合之后立即跳转到该点!(A点)。第二次,它将“跳转到 B 点”行为包裹在“跳转到 A 点并执行上下文,或 A 点之后的任何代码”周围。它是否正确?
如果设置,此代码似乎不起作用!实际发生了。或者是套装!这段代码有必要工作吗?
对正在发生的事情进行可视化表示确实会有所帮助。