发送带哈希的函数

时间:2012-09-10 12:21:03

标签: ruby hash

我知道我的x.to_s无效,我需要使用.send(something),但我无法正确使用语法。如果你能告诉我正确的发送语法,我会很感激。

h = Hash.new 
@cars.each do|x| 
  h["x.to_s"] = 0 
end

3 个答案:

答案 0 :(得分:1)

如果您要使用x的字符串表示作为哈希键,请删除引号:

h[x.to_s] = 0

答案 1 :(得分:0)

我猜你发现了这个:

h = Hash.new 
@cars.each do|x| 
  h[x.send(:to_s)] = 0
end 

答案 2 :(得分:0)

我真的不明白为什么你需要在这里使用send。简单有什么问题:

Hash[@cars.map(&:to_s).zip([0].cycle)]