一、使用Hash方法接收参数构建散列
使用Hash方法并传入参数可以构建散列,传入的参数必须是偶数个,如果传入的参数是奇数个则会报错
按照顺序每两个参数将构成一个键值对,第一个参数作为key,第二个参数作为value。
例如:
h = Hash["a","b"]
=> {"a" => "b"}
m = Hash["a","b",:c,"d"]
=> {"a"=>"b", :c=>"d"}
二、拓展运用
假如这里有一个文件,其中的内容有姓名和国家,但它不是ruby能直接识别的数据结构,我们要把它先转成ruby能识别的数据结构,然后将其中的姓名和国家和相应的人员做成散列形式:
line = "first_name=david;last_name=black;country=usa" #文件的原始内容
record = line.split(/=|;/) #将内容按照=或;进行分割
=> ["first_name", "david","last_name","black","country","usa"]
再将上述的数据进行进一步加工,转成散列形式:
data = []
element = Hash[*record] #使用*将上面获取的数组转成裸列表,作为参数传给Hash方法,从而构建散列
=> {"first_name"=>"david", "last_name"=>"black", "country"=>"usa"}
data.push(element)
=>[{"first_name"=>"david", "last_name"=>"black", "country"=>"usa"}]
三、参考资料
1.《ruby程序员修炼之道》第11章第7.2节
网友评论