3 , 5 => 25, "big house" => 9} 该值将是字符串(键)的字符数。如果-6ren">
gpt4 book ai didi

arrays - 使用 Ruby 进行哈希处理的数组

转载 作者:数据小太阳 更新时间:2023-10-29 08:44:48 24 4
gpt4 key购买 nike

我正在尝试转换这个数组:

["dog", 5 , "big house"]

散列:

{"dog" => 3 , 5 => 25, "big house" => 9}

该值将是字符串(键)的字符数。如果它是一个整数(键),那么该值将是 2 的幂。

这是我到目前为止得到的,但它只转换字符串(键):

h = {}
arr.each do |x,y|
y = x.length
h[x] = y
end

最佳答案

▶ arr = ["dog", 5, "big house"]
#⇒ [ "dog", 5, "big house" ]
▶ arr.zip(arr.map do |e|
▷ case e
▷ when String then e.length
▷ when Integer then e ** 2
▷ else raise 'Neither string nor numeric given'
▷ end
▷ end).to_h
#⇒ { "dog" => 3, 5 => 25, "big house" => 9 }

关于arrays - 使用 Ruby 进行哈希处理的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32773496/

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