当我在 irb 中执行以下操作时,我得到以下输出:
>> class TestMe
>> def new
>> puts 'hi!'
>> end
>> end
=> nil
>> TestMe.new.new
hi!
此外:
>> class TestMe
>> end
=> nil
>> TestMe.new.new
NoMethodError: undefined method `new' for #<TestMe:0x00000101038750>
但是当我在我选择的文本编辑器中编写一些代码时,它调用了一个名为new
(但不是实例化新对象的Object
方法)的实例方法,它会像保留关键字一样突出显示:new
new
@page = current_user.locations.new
请注意,locations
这里返回一个委托类,该类执行一些繁重的工作(通过此new
方法)并最终返回一个Location.new
实例,其中包含一些准备就绪的基本设置数据,但new
它本身并没有在类对象上被调用。这是方法名称的可接受使用还是我会遇到问题?