问题标签 [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 回答
211 浏览

c# - 如何从 IRecord 中获取 ICollection 属性?

我有一个包含 ICollection 样本的 IRecord。ICollection 看起来像这样:

然后我将样本添加到记录中:

现在我想从记录中取出样品。我知道当我这样做时

我得到正确生成的名称。但是,当我这样做时

它里面没有物品。我想做以下事情:

那么为什么 record["Samples"] 没有得到 ICollection 呢?

0 投票
2 回答
195 浏览

ruby-on-rails - 如何在 Ruby 中获取任意函数的最大值?

考虑一些功能foo

如何获得某个数组的输入最大值a

类似以下的内容(不起作用)应该返回 9:

怎么做?

红宝石 1.9.2

0 投票
2 回答
1283 浏览

regex - 使用类似正则表达式的条件生成字符串

我想知道实现满足以下第二个思考要求的最佳字符串生成器类是否可行:


我对正则表达式感到不舒服:我无法想出一段起始代码,但我只是想到了一个使用 TList 作为基类并使用过滤器(正则表达式)来对抗“蛮力”生成的字符串的幼稚实现。

其他最佳选择是什么?


  • 排序:首先按长度(最短的优先),然后按字典顺序。
  • 指定要在生成中使用的字符范围:所有可打印或 [AZ]、[az]、数字、特殊符号和最终空格(正则表达式?)的任何可能组合。
  • 字符串长度以给定的最小值/最大值为界。
  • 搜索空间受边界限制:开始字符串和结束字符串,可以过滤(正则表达式?)

上次编辑

首先,我使用正则表达式而不是正则表达式来改写标题。

我正在考虑修改第一个要求,因为它是一扇敞开的大门,可能会导致难以解决的问题

我需要正确措辞的建议和帮助。

第二个想法要求编辑完成。仍然对改进建议持开放态度。

0 投票
2 回答
1007 浏览

ruby-on-rails - 基于 Ruby Enumerator 的惰性扁平化方法

Michael Harrison 有一篇关于Ruby 中惰性枚举器的精彩文章,提供了lazy_select和的实现lazy_map。我想知道以下实现是否应该对和类型lazy_flatten以外的任何东西进行特殊处理。EnumeratorEnumerable

0 投票
2 回答
2229 浏览

scala - 如何编写枚举器以沿不同边界对枚举器进行分块

因此 Play2.0 Enumeratee 页面显示了使用&>orthrough方法将 an 更改Enumerator[String]为的示例Enumerator[Int]

还有一个Enumeratee.groupedenumeratee 可以从单个元素创建块的枚举器。这似乎工作正常。

但我看到的是,通常的输入将采用Array[Byte](由Enumerator.fromFileand返回Enumerator.fromStream)的形式。考虑到这一点,我想将这些Array[Byte]输入转换为Enumerator[String],例如,每个字符串都是一行(以 a 结尾'\n')。线条和元素的边界Array[Byte]通常不匹配。如何编写一个可以将分块数组转换为分块字符串的枚举器?

目的是在每行可用时将这些行分块返回给浏览器Array[Byte],并保留不属于完整行的剩余字节,直到下一个输入块出现。

理想情况下,我希望有一个方法,给定 aniter: Iteratee[Array[Byte], T]和 anEnumerator[Array[Byte]]将给我一个Enumerator[T],我的 T 元素被解析iter

附加信息:我有一些时间来清理我的代码,这是我正在尝试做的一个具体示例。我有以下检测下一行的迭代器:

我想做的是这样的:

0 投票
2 回答
5057 浏览

c# - foreach 获取下一项

我有以下功能,但它很长,很脏,我想优化它:

这工作得很好,但很脏我想用这样的东西:

我应该如何让 get_item 函数每次都获取列表中的下一个项目?

我读了一些关于 GetEnumerator 的东西,但我不知道这是否是我的问题的解决方案或如何使用它。

0 投票
6 回答
3398 浏览

ruby - 为什么要返回枚举数?

我很好奇为什么 ruby​​ 返回一个 Enumerator 而不是一个 Array ,因为 Array 似乎是一个明显的选择。例如:

大多数人认为 String 是一个字符数组。

那么为什么 String#chars 返回一个 Enumerable 而不是一个数组呢?我假设有人对此进行了很多思考并决定 Enumerator 更合适,但我不明白为什么。

0 投票
1 回答
380 浏览

ruby - 遍历枚举器的一部分(外部迭代器)?

如果我想要一个数组的一部分,我可以使用[]or split

但是有一个“通用”版本[]吗?我可以把它应用到任何地方Enumerator吗?

当然也可以arr[1..3]直接使用。但我正在寻找一种处理任何枚举器的通用方法。

0 投票
3 回答
2677 浏览

scala - Scala:读取 Enumerator[T] 的一些数据并返回剩余的 Enumerator[T]

我正在使用使用 Iteratees 和 Enumerators 的 playframework 的异步 I/O 库。我现在有一个 Iterator[T] 作为数据接收器(为简单起见,它是一个将其内容存储到文件中的 Iterator[Byte])。这个 Iterator[Byte] 被传递给处理写入的函数。

但是在写之前我想在文件开始处添加一些统计信息(为了简化说它是一个字节),所以在将迭代器传递给写函数之前,我以以下方式传输迭代器:

当我现在从磁盘读取存储的文件时,我得到了一个 Enumerator[Byte] 。首先,我想读取并删除附加数据,然后我想将 Enumerator[Byte] 的其余部分传递给处理读取的函数。所以我还需要改造枚举器:

但我不知道如何做到这一点。如何从枚举器中读取一些字节并获取剩余的枚举器?

将 Iteratee[Byte] 替换为 OutputStream 并将 Enumerator[Byte] 替换为 InputStream,这将非常简单:

但是我需要play框架的异步I/O。

0 投票
1 回答
460 浏览

scala - Scala:应用 enumeratee 后获取原始 iteratee(播放文档中的示例无法编译)

我想将 enumeratee 应用于 iteratee,然后取回原始的 iteratee,这样我就可以应用更多的东西。播放文档中有一个示例,它使用 Iteratee[Int,Int] 来总结其输入(http://www.playframework.org/documentation/2.0.1/Enumeratees)。然后他们使用 Enumeratee[String,Int] 允许像“3”和“6”这样的字符串作为输入。示例如下:

但这不会编译,因为 Enumerator.>>> 将另一个 Enumerator 作为参数 - 而不是 iteratee。我尝试使用 |>> 代替:

但是这个例子打印的不是“28”而是“10”。它似乎只考虑添加到适应迭代的部分。

使用枚举对象时如何取回原始迭代对象?