这是我发现的一种方法,我可以将传递参数传递给哈希的符号键。
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的键传递。
答案 0 :(得分:2)
要将字符串转换为符号,请使用String.to_sym方法。这样可以让您获得更清晰的实现。
答案 1 :(得分:2)
“清洁”是一个透视问题,但如果您不喜欢所有标点符号并且只是想让意图更清晰一点,您可以写puts end_points[args.server.to_sym]
。