Tag: 哈希

为什么Ruby String.hash跨机器不一致?

今天在我们正在多台服务器上部署的应用程序中遇到了这个问题。 我正在散列一些字符串以存储在共享键/值存储中。 String的.hash方法根据服务器返回不同的整数。 有什么想法吗? 请注意,我感兴趣的原因 ; 不可能的工作。 例: server1 $ ruby -v ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux] server1 $ irb irb(main):001:0> “test”.hash => 4146582576695053125 server2 $ ruby -v ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux] server2 $ irb “test”.hash => 3479379392688537032 这些机器是具有相同规格和构建的EC2实例。

从Ruby中的哈希数组中删除哈希

我有一系列哈希如下: [{“k1″=>”v1”, “k2″=>”75.1%”}, {“k1″=>”v2”, “k2″=>”-NA-“}, {“k1″=>”v3”, “k2″=>”5.1%”}] 现在,我想首先检查数组是否包含带有值为”v3″键”k1″的散列。 如果是,那么我想从数组中删除该哈希。 结果应该是: [{“k1″=>”v1”, “k2″=>”75.1%”}, {“k1″=>”v2”, “k2″=>”-NA-“}]

在尝试向数组添加任何内容时,没有从nil到整数的隐式转换

我正在尝试构建一个相当复杂的哈希,我很奇怪地得到错误 no implicit conversion from nil to integer 当我使用该线 manufacturer_cols < ‘test’} 我稍后在同一个循环中使用相同的行,它没有问题。 整个代码是 manufacturer_cols=[] manufacturer_fields.each_with_index do |mapped_field, index| if mapped_field.base_field_name==’exactSKU’ #this is where it is breaking, if I comment this out, all is good manufacturer_cols < ‘test’} else #it works fine here! manufacturer_cols <mapped_field.base_field_name } end end ——- manufacturer_fields的值——– [{ “base_field”:{ “base_field_name”: “类别”, “ID”:1, […]

将哈希数组转换为散列哈希值,由哈希值的属性索引

我有一个表示对象的哈希数组作为对API调用的响应。 我需要从一些哈希中提取数据,并且一个特定的键用作哈希对象的id。 我想将数组转换为哈希,键为ids,值为原始哈希值。 这就是我在说的: api_response = [ { :id => 1, :foo => ‘bar’ }, { :id => 2, :foo => ‘another bar’ }, # .. ] ideal_response = { 1 => { :id => 1, :foo => ‘bar’ }, 2 => { :id => 2, :foo => ‘another bar’ }, # .. } 我有两种方法可以想到这样做。 […]

查找特定Hash在Ruby中使用的字节数

我想知道的是Ruby用于特定Hash对象的字节数。 我怎么做?

Ruby – 从散列数组中提取每个键的唯一值

从下面的哈希值中,需要提取每个键的唯一值 array_of_hashes = [ {‘a’ => 1, ‘b’ => 2 , ‘c’ => 3} , {‘a’ => 4, ‘b’ => 5 , ‘c’ => 3}, {‘a’ => 6, ‘b’ => 5 , ‘c’ => 3} ] 需要提取数组中每个键的唯一值 ‘a’的唯一值应该给出 [1,4,6] ‘b’的唯一值应该给出 [2,5] ‘c’的唯一值应该给出 [3] 想法?

Ruby:Hash.keys和Hash.values方法返回的键/值的顺序是什么?

是否将项目添加到哈希的顺序相同?

Ruby符号与哈希中的字符串

我有这个哈希: { “title”=>”Navy to place breath-test machines on all its ships”, “url”=>”http://feeds.washingtonpost.com/click.phdo?i=a67626ca64a9f1766b8ba425b9482d49” } 事实certificate hash[:url] == nil 和 hash[‘url’] == “http://feeds.washingtonpost.com/click.phdo?i=a67626ca64a9f1766b8ba425b9482d49” 为什么? 它不应该兼容吗?

将Array转换为Hash,同时在Ruby中保留Array索引值

我有一个数组中有X个值的数组。 以下数组只有4个,但我需要代码是动态的,而不是只依赖于有四个数组对象。 array = [“Adult”, “Family”, “Single”, “Child”] 我想将array转换为如下所示的哈希: hash = {0 => ‘Adult’, 1 => ‘Family’, 2 => ‘Single’, 3 => ‘Child’} 散列应该具有与数组具有对象一样多的键/值对,并且值应该从0开始并且对于每个对象递增1。

Ruby – 获取哈希值

我喜欢哈希 {:key1 => “value1”, :key2 => “value2”} 我有一个变量k ,它的值为’key1’或’key2′ 。 我想将k的值变为变量v 。 有没有办法用if或case来实现这个目的? 单线解决方案是优选的。 请帮忙。