Ruby:为什么用new调用initialize方法?

时间:2017-03-20 11:59:56

标签: ruby

在Ruby中实例化对象时,主要使用看似方法with open('/tmp/test.data') as f: lines = f.readlines() lines.sort(key=lambda x: int(x.split(' ')[1]), reverse=True) processed = [] res = [] for l in lines: key = l.split(' ')[2:4] if key not in processed: res.append(l) processed.append(key) with open('/tmp/new.dat', 'w') as f: f.write(''.join(res)) 的方法。

#new

但通常没有新的'方法。相反,发生了什么(如果我错了,请纠正我),是执行一个名为o = Object.new 的方法来创建新对象。

为什么Ruby创建者决定在定义和调用此方法之间引入这种区别?

编辑:虽然所谓的重复问题(除了另一个,更具体的问题)要求这两种方法之间的关系,我想知道为什么选择这种关系。

0 个答案:

没有答案