问题标签 [enumerable]

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 投票
2 回答
71072 浏览

ruby - 可以在每个循环的哈希中访问索引吗?

我可能遗漏了一些明显的东西,但是有没有办法在每个循环的哈希内访问迭代的索引/计数?

0 投票
3 回答
400 浏览

c# - 具有可枚举或列表的属性

我正在玩弄 LINQ 和相关主题,并且想知道以下内容。

我有两种获取斐波那契数列的方法。我开始:

但这让我开始思考,为什么我会选择这个:

IList 也是一个 Enumerable + 我可能想为其添加一些参数化。我并不是真的在寻找优化或东西或诸如使用 <long> 之类的东西,因为这个数字很快就会变大,它只是一个简单的例子。只是一些论据赞成和反对每种方法。为什么以及何时应该使用哪种方法?

0 投票
2 回答
5184 浏览

ruby - 按降序对枚举进行排序

Enumerable按降序排序的最佳方法是什么?

我一直在做@array.sort.reverse@array.sort_by{|song| song.title }.reverse

我想我可以做类似的事情@array.sort{|a, b| b.title <=> a.title},但我发现这很难阅读和冗长。

0 投票
6 回答
4831 浏览

ruby - Ruby:有没有像 Enumerable#drop 这样返回枚举器而不是数组的东西?

我有一些大的固定宽度文件,我需要删除标题行。

跟踪迭代器似乎不太习惯。

Ruby 的成语是什么?

0 投票
3 回答
1871 浏览

ruby - 按数字(最高优先)然后按字母(字母顺序)对对象集合进行排序

我正在构建一个小部件来显示奥运会的奖牌数。我有一个“国家”对象的集合,其中每个对象都有一个“名称”属性,以及用于奖牌计数的“金”、“银”、“铜”。

列表应排序: 1. 首先按奖牌总数 2. 如果奖牌相同,则按类型(金牌 > 银 > 铜牌,即两金 > 1 金 + 1 银) 3. 如果奖牌和类型相同,则按类型分- 按字母顺序排序

我正在用红宝石做这个,但我想语言并不重要。我确实想出了一个解决方案,但如果感觉必须有一种更优雅的方式来做到这一点。

这是我所做的:

  1. 使用加权奖牌总数创建一个虚拟属性。因此,如果他们有 2 枚金币和 1 枚银币,加权总数将为“3.020100”。1金1银1铜为“3.010101”

  2. 由于我们想首先将奖牌数排序为最高,因此列表按 DESC 排序。但是之后我们想要按字母顺序(即 ASC)进行子排序。所以我创建了一个可以对单词进行 alpha 反转的函数(即“canada”=>“xzmzwz”)

  3. 将加权总数转换为字符串,连接反向名称(即“3010101xzmzwz”),然后降序排序。瞧。

到目前为止,有人已经弄清楚了如何用大约 2 行代码来做同样的事情。愿意开导我吗?

0 投票
2 回答
2462 浏览

ruby - 为什么 each_slice 不起作用?

我正在尝试使用 Enumerable#each_slice。它在我的计算机上不起作用,说明找不到该方法。

我正在运行 ruby​​ 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]

API:http ://ruby-doc.org/core/classes/Enumerable.html#M003142

例子:

我究竟做错了什么?

0 投票
4 回答
1226 浏览

ruby - 相当于返回 Enumerable 的 Ruby Enumerable.collect?

在这段代码中,我创建了一个字符串数组“1”到“10000”:

Ruby Core API 是否提供了一种获取可枚举对象的方法,让我可以枚举同一个列表,按需生成字符串值,而不是生成字符串数组?

这是一个进一步的例子,希望能澄清我想要做的事情:

xform我正在寻找的方法在哪里。awesome_names 是一个 Enumerable,因此xform不是创建一个包含 100 万个元素的字符串数组,而是根据需要生成并返回“hacker_[N]”形式的字符串。

顺便说一下,这是它在 C# 中的样子:

(一种解决方案)

这是 Enumerator 的扩展,它添加了一个 xform 方法。它返回另一个枚举器,它迭代原始枚举器的值,并对其应用变换。

0 投票
1 回答
3130 浏览

delphi - 在 Delphi Prism 中将 int 转换为枚举

基本上与这个问题相同,但在 Delphi Prism 中:

在 C# 中将 int 转换为枚举

我设法从一个字符串做到这一点:

但我尝试了以下,并得到一个类型不匹配的错误:

任何想法将 int 转换为 Enum 的语法是什么?

0 投票
6 回答
10655 浏览

java - Java 数组和列表的共同祖先

在 .NET 中,数组和列表都将 Enumerable 作为祖先,因此接受 Enumerable 作为参数的方法可以同时接收数组和列表作为其参数。我想知道Java中是否有类似的东西?

0 投票
3 回答
194 浏览

c# - 可枚举给出意外的输出

预期输出:

实际输出:

这段代码有什么问题?发生了什么?