ruby将参数传递给Symbol

时间:2012-09-19 22:32:06

标签: ruby hash symbols

这是我发现的一种方法,我可以将传递参数传递给哈希的符号键。

task :test,:server do |t,args|
  puts args.server
  puts end_points[:"#{args.server}"]
end

end_points的定义

 end_points = { :dev ==> "http://mysite.com" }

这就是我称之为rake任务的方式:

rake test[dev]

是否有更简洁的方法将args.server作为end_points的键传递。

2 个答案:

答案 0 :(得分:2)

要将字符串转换为符号,请使用String.to_sym方法。这样可以让您获得更清晰的实现。

答案 1 :(得分:2)

“清洁”是一个透视问题,但如果您不喜欢所有标点符号并且只是想让意图更清晰一点,您可以写puts end_points[args.server.to_sym]