2016-01-28 105 views
-5

输入:触点= { “名”=> “白”, “年龄”=> 22, “国家”=> “印度”}如何哈希转换为字符串

预期输出:“年龄= 22country = Indianame =白色”

+0

基本上1)布置在哈希按字母顺序和做 “键1 = val1key2 = val2key3 = VAL3” – user3636388

+0

什么用这样的输出的?为什么你会在名为'contact'的哈希中使用'age'? –

+0

你应该尝试提供尝试什么的,所以SO并不是要为你完成这项工作。 – floum

回答

2

一种方式是通过使用.map

contact = {"name" => "White", "age" => 22, "country" => "India"} 
contact.sort.map{|pair| pair.join('=')}.join 
=> "age=22country=Indianame=White" 

编辑:没有注意到输出暗示的排序要求。

1
string = "" 
input.each do |key, value| 
    string += "#{key}=#{value}" 
end 


puts string 
# age=22country=Indianame=White 
3
{"name" => "White", "age" => 22, "country" => "India"}.sort.map{|i| i.join('=')}.join 
0
contact.keys.sort.map {|k| "#{k}=#{contact[k]}"}.join 
相关问题