我刚开始学习Ruby!红宝石字符串散列值
我有以下字符串:
"Mark Smith, 29"
,我想将它转化成乱码,所以它看起来是这样的:
{:name=>"Mark", :surname=>"Smith", :age=>29}
我已经写了下面的代码,切断输入:
a1 = string.scan(/\w+|\d+/)
现在我有一个字符串数组。有没有一种优雅的方式将其转换为散列?我知道我可以做三次重复这样的:
pers = Hash.new
pers[:name] = a1[0]
pers[:surname] = a1[1]
pers[:age] = a1[2]
但是,也许是有办法做到这一点使用方法.each
或类似这样的东西吗?或者,也许有可能使用预定义的键(:name, :surname, :age)
来定义一个Person类,然后将我的字符串“扔”到这个类的一个实例?
感谢您的帮助,并向我展示Struct和zip - 我将阅读有关这些元素以充分了解它们。 – Maciek