问题标签 [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 投票
1 回答
161 浏览

sql - RoR,Ruby 如何从数据库中拆分数据并使用计数

我正在尝试从数据库中提取数据并将其与饼图一起使用。

我能够从数据库中的“浏览器”列中提取数据,该列是一个字符串,格式如下:“Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0”

当我在查询中使用“count”方法时,数据将保存为这样的哈希:

{" Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0 "=>5, " Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:51.0) Gecko/20100101 Firefox/51.0 "= >9}

例如,我只想显示浏览器或操作系统的版本。有没有任何方法(拆分或子字符串)有这样的哈希?当然,“计数”方法应该有效

{" Firefox/45.0 "=>5, " Firefox/51.0 "=>9}

我尝试使用拆分,但在使用方法计数时,将找不到数据,因为它作为一个完整的字符串“Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0”保存在数据库中。数据库中我的表中的列浏览器中没有“Firefox/45.0”。

当我从控制台使用简单查询时,我也尝试在 mysql 查询中使用子字符串我得到了我想要的结果,但是由于我使用的是 Ruby on Rails 和 ActiveRecords,所以“子字符串”没有返回相同的结果(无法正常工作)

请问有什么帮助吗?

0 投票
2 回答
490 浏览

ruby - 在 ruby​​ 中使用继承保存 YAML

我有带有继承的 YAML 文件,我想以编程方式添加或编辑密钥。我使用 YAML.load 方法将 YAML 加载到哈希中,但是当我使用 YAML.dump 保存哈希时,我丢失了所有继承信息。

有没有办法在 Ruby 中编辑 YAML 而不会丢失继承信息?

YAML 示例:

代码示例:

0 投票
4 回答
87 浏览

ruby - Ruby RoR 拆分哈希

我有一个这样的哈希:

如何仅提取每个元素的用户名(电子邮件)和密码以单独使用它。

最终使用拆分方法。例如,如何从第二个字符串中拆分字符串:

我想要这样的东西

0 投票
2 回答
992 浏览

ruby - 如果值递归包含字符串,Ruby 返回顶级哈希键

我有下面的数据结构,我试图返回顶级密钥(lo、eth0 或 eth1),如果它的值中递归和任意深度是给定的字符串。然后在找到字符串的第一个实例后终止搜索。

在包含任意数量的嵌套散列和数组的散列中查找键/值对这 有点类似于我正在尝试做的事情,但我无法将它映射到我自己的问题

我想知道如何通常使用这样的嵌套数据结构,但我会满足于能够在特定的子哈希中专门搜索,在我的情况下是地址。

0 投票
1 回答
137 浏览

javascript - 从 JSON 中发送的 ruby​​ 哈希中获取 javascript 字符串

所以,我有一个 ruby​​ 程序,它接受一个哈希并将其转换为一个 JSON 字符串(假设哈希是#FFFFFF),并且该 JSON 字符串被发送到一个 JavaScript 程序,它需要从 JSON 字符串中获取 #FFFFFF,我试过 JSON.parse(); 无济于事,而 JSON.stringify(); 只返回这个"{\"color\":\"#FFFFFF\"}"我如何让它在javascript字符串中只返回#FFFFFF?

0 投票
1 回答
358 浏览

ruby-on-rails - 使用没有在 rails 中的散列创建活动记录

我的控制器中没有哈希值,这些哈希值作为表单数据的一部分提交。表单基本上包含一个任务列表,即任务名称、任务类型等,每个任务都被提交一个哈希值。哈希值看起来像这样。任务名称哈希

{"task_1_name"=>"这是第 1 号任务", "task_2_name"=>"这是第 2 号任务", "task_3_name"=>"这是第 3 号任务", "task_4_name"=>"这是第 4 号任务" ...}

并且有任务类型哈希

{"task_1_type"=>"T","task_2_type"=>"M","task_3_type"=>"D","task_4_type"=>"M"...}

我想要的是像 http://textuploader.com/dr880这样的单个活动记录。任何建议都会有很大帮助。花了几个小时寻找解决方案,但找不到这样的东西

0 投票
2 回答
1358 浏览

json - Create nested hashes in ruby and save it into JSON

Hi I'm new in ruby and I'm trying to save a nested hash into a JSON file, the final hash looks like this:

But initially the hash must start empty :

And then I need to add elements at every level , like this :

And

And

I tried thing like the one below but it doesn't seem to work :

Thanks for your time and help.

0 投票
0 回答
30 浏览

ruby - 制表符间距红宝石

我正在尝试使用 Ruby 脚本复制文件,我有一个包含文件内容的哈希,然后我使用JSON.pretty_generate将生成的文件以与原始文件相同的格式放置,但是间距不同。

这是原始文件:

这是我的程序的输出:

我拥有的代码是:

Ruby 中复制原始文件并具有相同间距的最佳方法是什么?

0 投票
1 回答
64 浏览

arrays - Ruby RoR 分别从哈希中获取键和值

我有一个这样的哈希:

hash.keys结果给出 ["str1", "str2", "str3"]

hash.values结果给出 [5, 9, 3]

我正在尝试Axlsx使用sheet.add_row

在 Excel 工作表中,这是结果

字符串

如果散列不大,但如果它由 20 个或更多元素组成,这很简单,这样做根本不切实际!我想以更好的方式对哈希的所有元素执行此操作。

0 投票
2 回答
898 浏览

ruby - 如何将 XML 中的重复键添加到哈希中

我有一个项目,它需要大量的 XML 数据并将其传递给 Nokogiri,最终将每个元素添加到输出到 YAML 文件的哈希中。

这在 XML 数据集包含重复键之前有效。

示例数据:

homes元素中我可以有多个家,但是每个家home总是包含不同的内容。

该数据最终应输出如下结构:

但是我得到的只是里面的最后一个元素homes

我相信这是因为,在将每个元素添加到散列时,如果它已经存在,它将简单地覆盖键,因此总是给我最后一个键。

这是用于将元素附加到哈希的代码:

我相信

是罪魁祸首,但是这段代码创建了具有这些类型的重复键的类似 YAML 文件,我想保留该功能,所以我不想简单地向数据哈希添加唯一键,因为这意味着我需要修改许多方法并更新它们从 YAML 文件中提取数据的方式。

我读过compare_by_identity但不确定我将如何实现这一点。


我尝试使用compare_by_identity,但它只会导致一个空的 YAML 文件,所以也许它正在生成哈希但它不能写入 YAML 文件?