如果是
这样的话Rake::Task['somenamespace::sometask'].invoke
什么是传递给Rake :: Task的['somenamespace :: sometask'],我不明白这种语法,我不应该期待它像
Rake::Task('somenamespace::sometask').invoke
此处括号的含义是什么?为什么使用它们?
答案 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'