1, "Two"=> 2, "Three"-6ren">
gpt4 book ai didi

ruby - 无法理解 ruby​​ 如何打印此哈希

转载 作者:太空宇宙 更新时间:2023-11-03 18:24:57 26 4
gpt4 key购买 nike

我是 ruby 的新手,正在尝试一些小东西。所以这就是我所做的。

  1. 我使用了 irb,并在其中创建了一个简单的哈希 sampleHash = {"One"=> 1, "Two"=> 2, "Three"=> 3} 但是当它存储它(它在你按下回车键后显示你的),这就是我得到的 => {"One"=>1, "Three"=>3, "Two"=>2}。另外,当我像这样打印出来时: sampleHash.each do|count, num| print "#{count}: #{num}\n"end 我得到这个作为输出:

    One: 1 
    Three: 3
    Two: 2
  2. 现在,我用编辑器试了一下,这是我写的:

    hashExample = {"One" => 1,
    "Two" => 2,
    "Three" => 3 }
    hashExample.each do|count, num|
    print "#{count}: #{num} \n"
    end

    我得到这个作为输出:

    Three: 3 
    Two: 2
    One: 1

它如何存储?为什么它以不同的方式打印它?我在这里缺少什么?

最佳答案

在 Ruby 1.9 之前,哈希是无序的。也就是说,您将键插入哈希的顺序与迭代哈希时它们出现的顺序无关。

除了升级到 Ruby 1.9 之外,没有办法使用内置哈希来解决这个问题。如果你需要一个保持其键顺序的散列,你可以使用 ActiveSupport::OrderedHash .

关于ruby - 无法理解 ruby​​ 如何打印此哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12735894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com