在Ruby on Rails 5.2中,迁移文件包含一个类似于此的类。
class MyMigration < ActiveRecord::Migration[5.2]
我知道[5.2]
语法指定了迁移所针对的rails的版本,但我不明白这是如何工作的。 Migration[5.2]
不是有效的Ruby类名。
这个方括号语法是什么,它是如何不导致ruby语法错误的?
答案 0 :(得分:2)
Ruby对象可以有[]
个方法。它们在Array
类中使用,但任何类都可以实现它们。
def []()
...
end
由于类是完整对象,因此它们也可以使用方括号方法。