Por que usar () como o hash? - rubi

Eu vi alguns hash como o seguinte em algum arquivo de configuração .rb

cache( :path => "#{currentDir}/cache" )

por que não usar o {}?

Respostas:

2 para resposta № 1

cache é um método, sintaxe como

      method( a => b , c => d )

é uma abreviação (açúcar sintático) para

       method({ a => b , c => d})

2 para resposta № 2

Em ruby, se o único argumento de um método é um hash, as chaves são assumidas.

editar Para esclarecer: cache() é um método, que usa um hash como argumento, provavelmente assim:

def cache(*args)
# ...
end

Cardápio