Tag: hash

将XML集合(Pivotal Tracker故事)转换为Ruby散列/对象

我有一个XML格式的故事集。 我想解析文件并将每个故事作为散列或Ruby对象返回,以便我可以进一步操作Ruby脚本中的数据。 Nokogiri是否支持此function,或者是否有更好的工具/库可供使用? XML文档具有以下结构,通过Pivotal Tracker的Web API返回: 16376 feature http://www.pivotaltracker.com/story/show/16376 2 accepted A description Receivable index listing will allow selection viewing Tony Superman Tony Superman 2009/11/04 15:49:43 WST 2009/11/10 11:06:16 WST index ui,receivables 17427 feature http://www.pivotaltracker.com/story/show/17427 3 unscheduled Validations in wizards based on direction Matthew McBoggle 2009/11/17 15:52:06 WST 17426 feature http://www.pivotaltracker.com/story/show/17426 2 unscheduled Manual payment […]

是否存在匹配哈希的RSpec2匹配器?

未来读者请注意:认为RSpec不认为您的哈希值相等? 一个可能是OrderedHash,但是从常规RSpec输出你无法分辨。 这是提示这篇文章的问题。 原始问题: 假设我有一个规范,我想测试一个方法生成适当的哈希。 it ‘should generate the Hash correctly’ do expected = {:foo => 1, ‘baz’ => 2} subject.some_method_that_should_generate_the_hash.should == expected end 这通常会失败,因为具有相同键值对的不同哈希可能会以不同的顺序返回它们的对。 结果如下: Failure/Error: subject.some_method_that_should_generate_the_hash.should == expected expected: {:foo => 1, ‘baz’ => 2}, got: {‘baz’ => 2, :foo => 1} 对于数组,使用=〜运算符求解。 但是,这对Hashes不起作用。 现在,我已经诉诸了 it ‘should generate the Hash correctly’ do expected […]

Ruby:将两个哈希合并为一个并连接值

哈希: h1 = { “s1” => “2009-7-27”, “s2” => “2010-3-6”, “s3” => “2009-7-27” } h2 = { “s1” => “12:29:15”, “s2” => “10:00:17”, “s3” => “12:25:52” } 我想合并这两个哈希像这样: h = { “s1” => “2009-7-27 12:29:15”, “s2” => “2010-3-6 10:00:17”, “s3” => “2009-7-27 2:25:52” } 做这个的最好方式是什么? 谢谢!

如何在哈希中找到键以映射到符合条件的元素?

我有一个将整数映射到数组的哈希。 例如 {1 => [“abc”], 2 => [“ccc”, “ddd”]} 如何从散列中获取具有至少包含2个元素的数组的所有键?

将Ruby数组转换为哈希

我正在尝试编写一个名为my_transform的方法,该方法采用如下数组: items = [“Aqua”, “Blue”, “Green”, “Red”, “Yellow”] 并显示项目的索引如下: item_to_position = {“Aqua”=>0, “Blue”=>1, “Green”=>2, “Red”=>3, “Yellow”=>4} 我应该能够执行: my_transform(items) == item_to_position 并得到true 。 我已经考虑过使用each_with_index 。 我应该先说: items = [“Aqua”, “Blue”, “Green”, “Red”, “Yellow”] hash = Hash[*array] def my_transform 我必须将字符串转换为哈希值。 任何帮助表示赞赏。

为什么在哈希中向数组追加一个值也会修改分配给它的另一个变量?

示例代码: hash_of_array = { a: [] } b = hash_of_array c = hash_of_array b[:a] < { a: [1] } puts c # => { a: [1] } 为什么两个变量的数组都有1? 我只将它附加在变量b 。 试穿 Ruby版本2.3.1,2.4.0 Rbenv

关键在ruby新哈希

Ruby 1.9.2的新哈希语法存在一个奇怪的问题。 如何在1.9.2中将任何Object作为密钥放入哈希? 在1.8.7哈希它工作: a=”b” {“a” => “some”,a => “another value”,:a => “3rd value”} 但是在1.9.2>我们不能(或者如果我错了怎么办?) 1.9.2哈希: {a: “some”} => {:a=>”s”} #it convert to old hash format 但 a=”a” {a: “…”} # This doesn’t work {“a”: “some value”} => syntax error, unexpected ‘}’, expecting $end from /home/naveed/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `’ {1: “s”} => SyntaxError: (irb):11: syntax error, unexpected […]

如何计算Ruby 1.8.5中的重复哈希值(Sketchup Ruby API)

我需要计算重复项,它们需要100%相同以增加我的计数,但我不能使用Ruby 1.8.5中的任何内容,此代码将在google sketchup中的插件中运行 Google Sketchup Ruby API puts VERSION 1.8.5 puts RUBY_PLATFORM i686-darwin8.10.1 product = ‘Glass’ x = width y = length z = density product_list = [ { “product” => 1, “x” => 200, “y” => 100, “z” => 18}, { “product” => 1, “x” => 200, “y” => 100, “z” => 18}, { […]

递归地将包含非UTF字符的哈希转换为UTF

我有一个流氓gem(omniauth),提供包含ASCII-BIT8字符串的数据哈希,我想将其转换为UTF。 如何将哈希的所有字符串元素强制为UTF,作为某种rails初始化方法? .to_utf8 initilizer session[:omniauth] = omniauth.to_utf8 class Hash def to_utf8 #not really sure what to do here? end end

如何处理组合 + =在Ruby中自动生成哈希?

为了实现Ruby哈希的自动生成,可以使用以下类 class AutoHash self, :update_key => k) end end def []=(k, v) @update[@update_index] = self if @update and @update_index super end def few(n=0) Array.new(n) { AutoHash.new } end end 该类允许执行以下操作 a = AutoHash.new a[:a][:b] = 1 pa[:c] # => {} # key :c has not been created pa # => {:a=>{:b=>1}} # note, that it […]