📅  最后修改于: 2023-12-03 15:25:17.938000             🧑  作者: Mango
在 Ruby 中,我们可以使用 hash
方法将字符串转换为哈希。哈希是一种键值对集合,它将键映射到值。
my_string = "hello"
my_hash = Hash[my_string.chars.map.with_index.to_a]
puts my_hash
我们首先定义了一个字符串 my_string
,它包含了 "hello" 这个单词。然后我们使用 chars
方法将字符串拆分成一个字符数组。我们再使用 map
方法将字符数组和它们的下标组合成一个二元组数组。
接着,我们使用 with_index
方法获取字符数组中每个字符的下标。这个方法会给 map
方法的每一项元素添加一个额外的参数,这个参数是当前元素在数组中的下标。这就意味着我们不需要手动记录每个字符在字符串中的位置。
最后,我们使用 to_a
方法将映射好的哈希转换为一个数组,再调用 Hash
方法将这个数组转换成一个哈希。这个哈希的键是字符串中的字符,值是它们在字符串中的下标。
运行这段代码会输出以下结果:
{"h"=>0, "e"=>1, "l"=>3, "o"=>4}
这个结果与我们预期的一样,哈希的键是字母,值是它们在字符串中的位置。