Ruby Rake对象调用语法

时间:2017-06-10 22:09:00

标签: ruby object rake

如果是

这样的话
Rake::Task['somenamespace::sometask'].invoke

什么是传递给Rake :: Task的['somenamespace :: sometask'],我不明白这种语法,我不应该期待它像

Rake::Task('somenamespace::sometask').invoke

此处括号的含义是什么?为什么使用它们?

1 个答案:

答案 0 :(得分:0)

foo[bar]

的语法糖
foo.[](bar)

它只是对名为[]的方法的方法调用,仅此而已。

我很惊讶你以前没见过这种方法;它是Ruby中最重要的方法之一,例如:

ary = [4, 8, 15, 16, 23, 42]

ary[3]
#=> 16

hsh = { 'one' => 'uno', 'two' => 'dos', 'three' => 'tres' }

hsh['two']
#=> 'dos'