在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创建者决定在定义和调用此方法之间引入这种区别?
编辑:虽然所谓的重复问题(除了另一个,更具体的问题)要求这两种方法之间的关系,我想知道为什么选择这种关系。