yield-keyword

    2热度

    1回答

    所以我这有极大的相humungous类,它的唯一的相关代码: def get_col_is_numeric(self, col_name): "Returns an iterator with each cell length in the named column" min(self.get_col_iter_is_numeric(col_name)) ...我装一些

    9热度

    3回答

    的yield关键字文档说: 收率关键字信号给编译器的方法,其中,它 出现是迭代器块。 我遇到了在任何迭代器块外使用yield关键字的代码。这应该被认为是一个编程错误还是很好? 编辑对不起忘了张贴我的代码: int yield = previousVal/actualVal; return yield; // Should this be allowed!!!??? 感谢。

    4热度

    4回答

    呃,不是很清楚如何词组这个,但.. 给出一个IEnumerable使用收益回报,包含三个实例创建为什么调用.First()似乎返回第一个实例的'副本'? 请参阅以下代码; public class Thing { public bool Updated { get; set; } public string Name { get; private set; }

    3热度

    2回答

    我正在尝试使用HTML5的新canvas对象,其中呈现和制作一些简单形状的动画。我的画布的脚本有以下功能: function initializeSquarePositions(rows, columns) { for (var x = 0; x < canvas.width; x += canvas.width/columns) for (var y = 0; y < ca

    5热度

    1回答

    编译器抱怨在分配之前正在使用下面代码中的resultingThing。 private IEnumerable<IThing> FindThings(dynamic spec) { if (spec == null) yield break; IThing resultingThing; if (spec.Something > 0 && dictio

    5热度

    3回答

    我在斯卡拉有一个DateTime和TimeSpan类(假设<和+运算符正常工作)。我试图定义一个'范围'功能,它需要一个开始/停止时间和一个步进时间。在C#中,我会用yield来做到这一点,我认为我应该可以在Scala中做同样的事情......除非我遇到一个奇怪的错误。 在'yield t'这一行上,我收到“非法声明的开始”。这段代码 def dateRange(from : DateTime,

    1热度

    5回答

    我在写一个接口,它有一个我只想读取的集合属性。我不希望界面的用户能够修改集合。我发现创建一个只读集合属性的典型建议是属性的类型设置为IEnumerable的是这样的: private List<string> _mylist; public IEnumerable<string> MyList { get { return this._mylist; } }

    4热度

    2回答

    我一直在使用迭代器,我喜欢它们。 虽然我一直在想这件事,但我无法弄清楚“一个识别迭代器的编译器是如何实现的”。我也研究过它,但找不到解释编译器设计环境中的情况的任何资源。 详细来说,大多数关于迭代器的文章暗示了实现期望行为的某种“魔术”。他们建议编译器维护一个状态机,以便跟踪执行的位置(最后一个“收益回报”在哪里出现)。我特别感兴趣的是迭代器的这个属性,它能够进行懒惰的评估。 顺便说一下,我知道什

    3热度

    2回答

    我想创建一个GridBagPanel.Constraints的列表。我在scala编程书中读到它,有一个很酷的for-yield构造,但我可能还没有理解它的正确工作方式,因为我的代码不能编译。那就是: val d = for { i <- 0 until 4 j <- 0 until 4 } yield { c = new Constrain