【问题标题】:ruby to pass arguments to Symbolruby 将参数传递给 Symbol
【发布时间】:2012-09-12 07:11:09
【问题描述】:

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

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

端点的定义

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

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

rake test[dev]

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

【问题讨论】:

    标签: ruby hash symbols


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      要将字符串转换为符号,请使用 String.to_sym 方法。这应该会让您的实现更加简洁。

      【讨论】:

        猜你喜欢
        • 2012-03-15
        • 2021-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多