问题标签 [ruby-hash]

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 投票
16 回答
528807 浏览

ruby-on-rails - 如何从哈希中删除一个键并在 Ruby/Rails 中获取剩余的哈希?

要向哈希添加一个新对,我会:

有没有类似的方法从 Hash 中删除一个键?

这有效:

但我希望有类似的东西:

重要的是返回值将是剩余的哈希,因此我可以执行以下操作:

在一行中。

0 投票
4 回答
20452 浏览

ruby-on-rails - 是否有解决方案绕过“无法在迭代期间将新密钥添加到哈希(RuntimeError)”?

我对预期的 RuntimeError 有一个大问题:“无法在迭代期间将新键添加到哈希中”

在我的情况下,我有一个 YAML 文件:test.yaml - 我已经在其中添加了一些键。

我在变量中获取文件的内容:

然后我需要遍历这个哈希并向它们添加其他键:

主要问题是我无法在循环中写入哈希。当您有权控制循环块时,我不明白为什么会出现这种情况。还有另一种方法可以完成我上面展示的内容吗?

注意:我使用的是 RUBY 1.9.3 p547

0 投票
1 回答
81 浏览

arrays - 如何动态使用哈希值?

目标:在电子邮件标题中使用唯一的电子邮件地址到:MIME Html 消息的字段(请参阅 message_class)。

文件:database.rb在这里我连接到数据库并循环遍历 table 中的行rcpt。然后我将值存储在row["email"].

con没有 ["email"]的方法输出:

con["email"] 方法的输出:

数据库架构:

文件:message_class.rb在这里我创建了方法pull_rcpt,然后存储row["email"]. 然后我尝试使用heredoc中的pull_rcpt方法。message现在我的问题来了:在To:现场,我试图传递我当前发送到的用户电子邮件地址,所以它应该随着接收电子邮件地址而改变。它仍然使用数组/Db 中第一个联系人的电子邮件地址。我究竟做错了什么?

文件:mailer_class.rb在我的 mailer_class 中,我有两个方法rcpt_tomessage. Rcpt_to 包含一个数组contacts,其中包含 的值row["email"]。消息构建电子邮件。

几行之后,for loop我使用如下方法:

这是 example2@example.com 的标题,它是数据库中的第二条记录:

所以唯一不起作用的是电子邮件标题中的动态 To: 字段。其余的工作正常,数据库中的所有记录都会收到一封电子邮件。

0 投票
4 回答
1188 浏览

ruby - Ruby 哈希中特定值的总和

我有两个哈希:

如您所见,它们都使用相同的键,但值不同。second的值包含 的值的索引范围,first我只需要对这些范围内的值求和first

预期输出:

0 投票
4 回答
657 浏览

ruby - 如果没有给出值,则用 nil 值填充 Hash

我有这些数组:

我需要创建一个散列,其键来自keys,值来自values。值必须位于positions. If no index is defined,nil 中定义的索引处,应添加到该索引中。

三个数组包含相同数量的元素;keys有两个元素,values二和positions二。所以没关系。

预期输出:

0 投票
2 回答
363 浏览

ruby - 不同方法的罗马数字转换

case我正在使用语句将罗马数字转换为数字,反之亦然。我的案例通过检查我输入的是字符串还是整数来判断是真还是假。如果我输入 5,我应该得到 V,如果我输入 MI,应该得到 1000。我能够让我的“假”案例正常工作。但我无法让我的“真实”案例发挥作用。

我将 my 反转Roman_Numerals为一个名为Arabic_Numerals. 我不明白为什么我的true案子没有像相反的那样奏效。

请就我的false案子为什么不起作用提出建议。我不确定为什么arabic == input不起作用。

0 投票
3 回答
446 浏览

ruby - 这里的这一属性如何在 ruby​​ 类中包含多个属性?

如您所见,我们有一个名为“attributes”的属性,我们在类中对其进行了初始化,所以问题是名称和衬衫属性从何而来,因为我们没有在类中初始化和定义它们?

此外,当我检查衬衫类的这个实例时,我得到一个哈希:

谁能帮忙解释一下?

0 投票
5 回答
83 浏览

arrays - 将数组拆分为哈希

我有一个大约860项的数组,我想把它变成一个hash,数组结构是(Key1, value 1, value2, value 3, Key2, value 1, value 2, value 3…… .....等等)除了在现实生活中它看起来像(彼得,150、39、345,约翰,123、450、402,玛丽,145、345、506............ .)。原来这些是我一起转置的四个数组,所以我可以从 4 个独立的数组开始达到相同的最终目标。

我想

我觉得应该有一个很好的简洁方法来做到这一点,但它让我望而却步,可能是因为我对红宝石的了解不够。

0 投票
1 回答
6566 浏览

ruby - 没有将 Symbol 隐式转换为 Integer Error with hash

我收到错误“没有将符号隐式转换为整数”

这是我的代码:

错误在该行中:

0 投票
5 回答
81 浏览

ruby - 如何从 API 对日期和时间数据进行分组

我正在尝试对从 API 获取的数据进行分组,以提供给我们的前端应用程序。我的意思是按“日期”分组“时间”。日期:{date1: [time1, time2, timeN], date2: [time1...]}

我的输入是这样的:

我的输出应该是这样的:

我正在尝试这样做,但不会陷入疯狂循环。我有以下内容:

这给了我这样的数据输出: