问题标签 [enumerator]

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.

0 投票
1 回答
473 浏览

c# - 获取 C# 中 IDL 中定义的方法的真实名称

我们有 IDL 项目,并且定义了 Enumeration 接口。它具有 ID = DISPID_NEWENUM 的属性(支持 for-each 等)。

由此我们生成互操作 dll。当我使用反射获取该接口的所有方法时,该方法将替换为 GetEnumerator 方法。

我可以通过反射以某种方式获得方法的真实名称(用 IDL 编写)吗?

感谢您的任何帮助。

0 投票
0 回答
75 浏览

scala - 大文件的 Play2 迭代器和枚举器流式传输失败

可能重复:
Play2 Framework 代理向客户端流式传输内容在流式传输完成后保持连接打开

我正在将一个 11mb 的文件从 Web 服务流式传输到客户端。这本质上是一个直通代理。这是我的代码:

我称之为:

对于慢速服务,这很好用,我得到了整个文件。对于快速服务,我只得到文件的一小部分(大小不同,顺便说一句),其余的图像被切断。如果图像是 11mb,在 .close() 方法终止流之前,我可能只会得到 2mb。

我知道 Iteratee 获取了所有数据(我在打印出来时看到了它),但是,似乎 Enumerator 上的 .close() 调用运行得太快了,并且在 interatee 能够之前切断了枚举器填补;填写(表格,资料。

我有几个问题:

  1. 这是做代理的正确方法吗?我首先用传统的 Java IO 流来做这个,它工作正常,但不是惯用的或非阻塞的

  2. 如果这是解决此问题的合理方法,那么 Enumerator.close() 方法应该去哪里?.onRedeem 与 .orTimeout 有同样的问题

谢谢!

0 投票
0 回答
380 浏览

ios - 尝试从 iOS 中的数组中删除对象时出现 NSGenericException

我已经检查了如何解决此问题的示例,但我仍然面临它..

我的代码是

错误是*** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x6a97ba0> was mutated while being enumerated.'

obstacles更新:如果我的数组中只有一个对象,我的代码就可以工作。它因多个对象而失败..

0 投票
1 回答
83 浏览

objective-c - 如何在 iOS 编程中获取每个枚举?

我目前正在创建我的 iPhone 应用程序的一部分,基本上有一个单元格列表(在表格视图中),它就像现有的苹果记事本一样。

我正在尝试使单元格的名称具有数组中字符串的名称。这就是我目前正在做的事情。

所以我基本上是从 NSUserDefaults 中的键创建 cameraArray 中的字符串(我这样做只是为了测试目的,稍后用户将输入这些字符串)

我坚持的是枚举器很好地遍历数组,但只使用 tableView 中所有单元格的最后一个值(第三个值)。

所以如果有三个字符串,“第一”“第二”和“第三”所有三个单元格都说“第三”

我该如何解决?

0 投票
4 回答
1056 浏览

ruby - 枚举器 `Array#each` 的 {block} 不能总是改变数组值?

好的,也许这很简单,但是......鉴于此:

..而且我正在尝试将所有“arr”值更改为“bad”

为什么这不起作用

答案表明“v”是块的局部变量(数组值的“副本”),我完全理解(以前从未让我感到困惑)但后来

..如果数组元素是对象,为什么它会起作用?

这里的“p”不是这里块的本地吗?但是它确实影响了对象,怎么会?

0 投票
3 回答
694 浏览

c# - yield return 语句如何不返回任何元素?

我正在练习删除二叉搜索树上的节点,并使用空模式为空链接(NullNode)创建了一个特殊类型,因此我可以为“空”类型添加一些理想的行为。Node类型和Nullnode类型共享相同的INode接口,其中包括递归方法。

INode接口包括用于PreOrder 、InOrder 和 PostOrder 遍历的IEnumerable递归方法,但我不希望 NullNode 返回任何元素(通过 yield return 语句)。

我能做些什么?

我知道我可以使用一个不可能的 if 条件,然后在方法中放置一个 yield return 语句,但我不认为这个解决方案是好的。应该有更好的方法。

0 投票
1 回答
50 浏览

c# - 在类和对象之间使用枚举器

我在一个对象中有一个结构数组。我想使用 foreach 循环将数组中的每个结构传递给类,以便我可以显示类中的每个结构。这是对象中传递 struct 的代码:

我尝试使用以下方法在课堂上恢复这些:

这不起作用。我收到一个错误,说它没有公共 GetEnumerator。谁能帮我解决这个问题?

0 投票
1 回答
265 浏览

ruby - 无限枚举器倒带

我有一个以下列方式生成枚举器的函数:

当前的行为非常简单。

我想将e.rewind枚举器重置回它的起始值。有没有一种很好的方法可以在仍然使用无限枚举器的同时做到这一点?

0 投票
1 回答
1760 浏览

c# - 静态 IEnumerator

如何通过实现 Array Wrapper 来最小化开销?

1 为MyProviderInfos选择哪种接口/类型?

2使用私有静态枚举器是否合理?不,从 答案

3 MyProviderInfos是否应该是一个属性以及如何保护其成员不被修改?成员的内部/私人SETTERS(来自相同的答案)

我尝试阅读有关 ICollection、Readonly-Collection、List、IList、Array 的 SO 文章,但仍然对最适合该场景的内容感到困惑:

  • Array MyProviderInfos 由编译时形成,不会(不得)在运行时更改。
  • 该类(必须)是可枚举的(使用数组 MyProviderInfos 的元素)并且不需要自定义列表函数(.Add .Remove)。
  • 该类具有使用 Array 的静态函数。
  • 类必须是非静态的才能支持索引。

代码:

0 投票
3 回答
502 浏览

ruby - 在 Ruby 中克隆枚举器?

我有一棵树,我正在尝试遍历。当我遍历它时,我保留了一堆枚举器,其中每个枚举器用于枚举树的孩子。

我希望能够复制这个枚举器堆栈并将其交给另一个对象,以便它可以从堆栈状态指示的位置开始遍历树。

当我尝试在 Enumerator 上调用 #dup 时,出现错误。是否可以复制枚举器?如果没有,我怎么能完成同样的事情?(我曾考虑将一堆整数作为索引,但我担心效率。

这是一些代码来显示我所看到的......

一旦第一个枚举器启动,就不能复制它。这就是我的情况。