术:获取散列中指定位置和范围的键值对

2020-03-28  本文已影响0人  稻草人_b788

一、对散列调用first方法获取第一个键值对

h = {:b=>2, :a=>5}
 => {:b=>2, :a=>5}

k, v = h.first
=> [:b, 2]

g = {k => v}
 => {:b=>2}

#或
key = h.keys[0]
value = h.values[0]
l = {key => value}
 => {:b=>2}

二、使用Hash[]方法来操作

h = { "a" => 100, "b" => 200 , "c" => 300, "d" => 400, "e" => 500}
Hash[*h.first]
=> {"a" => 100}

#在任何一个位置检索一个键值对
Hash[*h.to_a.at(1)] #数组下标从0开始,0代表获取第一个键值对,1代表获取第二个键值对
=> {"b" => 200}

Hash[*h.to_a.at(10)]
=> {}

#从某个位置开始获取其及后面指定个数的键值对
Hash[h.to_a[0,3]] #这里是获取第2个键值对及其后面2个键值对,一个是3个键值对
=> {"a"=>100, "b"=>200, "c"=>300}

#从某个位置开始获取其到指定位置的键值对
Hash[h.to_a[0..3]] #获取第一个到第4个键值对
 => {"a"=>100, "b"=>200, "c"=>300, "d"=>400}

三、参考资料

1.如何从Ruby中的哈希表中获取第一个键和值对

上一篇 下一篇

猜你喜欢

热点阅读