问题标签 [yield]
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-on-rails - Rails: using "content_for" after the corresponding "yield" inside layout
I think this has been asked before but even though I searched Google I haven't come up with a solution.
So this is what I'm trying to do in Rails 2.3.5:
Notice the yield before the content_for.
I know that Rails - by default - doesn't allow the content of :head to be defined after yield has been used - makes sense.
I even tried hooking into the template render process but no success so far.
So my goal is to be able to define content_for inside partials/templates and have the "yield" somehow delayed and executed just before the response is send to the browser.
Has somebody come up with a solution?
Greetings and thanks, Frank
Update I'll go with weppos's idea and try myself on rack middleware. thanks
python - 收益率与回报的不同结果
我真的不明白yield
语句在这种情况下是如何工作的。问题是给定一个没有括号的表达式,编写一个函数来生成所有可能的全括号(FP)表达式。比如说,输入'1+2+3+4'
应该生成为 5 个 FP 表达式:
- (1+(2+(3+4)))
- (1+((2+3)+4))
- ((1+2)+(3+4))
- ((1+(2+3))+4)
- (((1+2)+3)+4)
我的代码如下。
如果我使用return
语句(注释掉的行),那么代码将按预期工作。但是,当我更改yield
为代码显示的语句时,我只得到前 4 个结果。如果输入表达式的操作数增加,那么当然会丢失更多的结果。例如,对于 input '1+2+3+4+5'
,我只得到 8 而不是 14。
我终于弄清楚了通过注释掉该行firstG, secondG = f(first), f(second)
并替换该行来使代码工作的方法
for e in ('(' + e1 + op + e2 + ')' for e1 in firstG for e2 in secondG):
经过
for e in ('(' + e1 + op + e2 + ')' for e1 in f(first) for e2 in f(second)):
这意味着发电机的一些“信息”由于线路而丢失,firstG, secondG = f(first), f(second)
但我无法弄清楚真正的原因。你们能给我一些想法吗?
c# - IEnumerable 和 Recursion 使用 yield return
我有一种IEnumerable<T>
用于在 WebForms 页面中查找控件的方法。
yield return
该方法是递归的,当返回递归调用的值时,我在返回我想要的类型时遇到了一些问题。
我的代码如下所示:
这当前会引发“无法转换表达式类型”错误。但是,如果此方法返回 type IEnumerable<Object>
,则代码会构建,但输出中会返回错误的类型。
有没有一种yield return
在使用递归的同时使用的方法?
silverlight - 递归silverlight Element finder扩展方法
我需要一个扩展方法来遍历我的 Silverlight 页面上的所有文本框。假设我总是使用网格布局,那么我有:
现在,我可以这样称呼它:
这永远不会触发。我相信是 OfType 无法区分 UI 元素。
我该怎么做?我想展平视觉树然后循环。不仅仅是文本框,而是得到所有我想要的东西。我是在错误的地方屈服还是过于频繁?
编辑:
当前代码
网格是
仍然只让它深入一层,返回 6 个网格和一个按钮!
我目前的遍历功能是:
这只是知道我们正在处理网格,因此不需要第二个参数。我只是从迭代器框中产生,而不是从应该回调到带有子网格的 Traverse 函数的第一行产生。
scala - 使用 Scala 延续实现收益(收益回报)
如何yield return
使用 Scala 延续来实现 C#?我希望能够以Iterator
相同的风格编写 Scala 。在这篇 Scala 新闻帖子的评论中有一个刺,但它不起作用(尝试使用 Scala 2.8.0 beta)。相关问题中的答案表明这是可能的,但尽管我已经玩了一段时间的定界延续,但我似乎无法完全理解如何做到这一点。
python - 从一个可迭代对象一次产生多个对象?
如何从可迭代对象一次生成多个项目?
例如,对于任意长度的序列,我如何迭代序列中的项目,每次迭代以 X 个连续项目为一组?
c# - 有什么方法可以让产生的迭代器在出现异常时继续到下一个项目?
当一个迭代器块内发生异常时,有什么方法可以让 yield created 迭代器继续到下一个项目?
这目前不起作用:
c# - 在状态转换中产生最短路径
我正在尝试提出一种树遍历的算法,但我被卡住了。
这是一个相当困难的问题(与我问过的其他问题相比),所以我可能需要自己继续思考。但我想我会把它扔在这里。
我有以下类结构:
当 currentTransistions 完全填写时,它看起来像这样(对我来说):
这里的想法是我已经映射了 TFS 工作项的状态转换。我现在需要的是一种说“给定当前状态,我如何到达另一个状态”的方式。
理想情况下,它看起来像这样:
GetToFinalState 必须有一种方法来计算最短路径并使用 C# 的 yield 功能为 foreach 语句一次提供一个。
我以前用过产量一,所以我想我可以弄清楚。但我不确定如何在找到最短路径的同时做到这一点(无需在函数中的每次重新计算)?
如果你已经读到这里,谢谢。如果您提供答案,请再次感谢。
ruby - 重写简单的 ruby 函数以使用块
我不知道正确的术语。我试图用谷歌搜索它,但由于这个原因找不到任何东西。
我正在编写一个 Ruby 库,我想重写这些函数,以便它们按如下方式工作,因为我更喜欢它的可读性(在块内?)
我有一个功能可以做到这一点
我想重写它,让它像这样工作
你能概述一下我做这件事的方法吗?