我正在阅读Programming Ruby - 一个务实的程序员指南,并偶然发现了这段代码:
class SongList
def [](key)
if key.kind_of?(Integer)
return @songs[key]
else
for i in 0...@songs.length
return @songs[i] if key == @songs[i].name
end
end
return nil
end
end
我不明白定义 [ ] 方法是如何工作的?
为什么key在[]外面,但是调用方法的时候却在[]里面?
键可以不带括号吗?
我意识到有更好的方法来写这个,并且知道如何编写我自己的有效方法,但是这个 [] 方法让我感到困惑......非常感谢任何帮助,谢谢