2015-10-19 33 views
3

在我的Guardfile中,我有这种奇怪的方法调用语法rspec.spec.("requests/#{m[1]}")。虽然这完美的作品,我不明白是什么方法实际上被称为。在没有方法名称的情况下使用ruby进行调用

此语法是否有名称或术语?

guard :rspec, cmd: "bundle exec rspec" do 

    # ... 
    watch(rails.controllers) do |m| 
    [ 
     rspec.spec.("routing/#{m[1]}_routing"), 
     rspec.spec.("controllers/#{m[1]}_controller"), 
     rspec.spec.("requests/#{m[1]}") 
    ] 
    end 
end 
+0

感谢@Drenmi,我想不出一个恰当的搜索词组。它是重复的。 – max

+0

没问题@max。由于缺乏方法名称,需要进行一些搜索。 :-) – Drenmi

回答

3

尝试:

foo = "Foo" 
foo.("a") 
# NoMethodError: undefined method `call' for "Foo":String 

routine = Proc.new { |arg| puts "Hello #{arg}!" } 
routine.("world") 
# Hello world! 
相关问题