【发布时间】:2011-02-10 11:35:58
【问题描述】:
有没有在 Ruby 中模拟 yield 的好方法?我有兴趣在 Ruby 中编写类似的“无限 fib 序列”。
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
namespace cs2 {
class Program {
static void Main(string[] args) {
var i=Fibs().TakeWhile(x=>x < 1000).Where(x=>x % 2==0).Sum();
}
static IEnumerable<long> Fibs() {
long a = 0, b = 1;
while (true) {
yield return b;
b += a;
a = b - a;
}
}
}
}
如果可以,请举个例子。
【问题讨论】:
-
当一个人说“你知道现在几点了吗?”他期待的是时间,而不是“我愿意”的答案,所以你的讽刺有点毫无根据。
-
我认为这是一个有效的问题。如果我有任何红宝石技能,我会回答它
-
通常,我也倾向于在这个问题上回答“是”。
-
咳嗽“乖一点”stackoverflow.com/faq
标签: c# ruby linq translation