我正在编写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
Run Code Online (Sandbox Code Playgroud)
我不明白定义[]方法是如何工作的?
为什么键在[]之外,但是当调用方法时,它在[]里面?
键可以没有括号吗?
我知道有更好的方法来写这个,并知道如何编写我自己的方法,但这个[]方法只是让我感到困惑...任何帮助非常感谢,谢谢
使用bin/rails g migration CreateUser第一行生成新迁移时将如下所示:
class CreateUser < ActiveRecord::Migration[5.1]
Run Code Online (Sandbox Code Playgroud)
它[5.1]代表什么以及它是如何工作的?
这是Rails 5 的 ActiveRecord::Migration 中的 [5.0] 是什么意思的后续?因为它没有解释这是如何合法的 ruby 并且没有出现在使用[5.1]或brackets