ddl*_*ack 5 ruby
我认为按惯例,只有带感叹号的方法才会改变对象.
> array = [1, 2, 3] => [1, 2, 3] > array.pop => 3 > array => [1, 2]
为什么不是Array的pop调用的方法pop!?
Array
pop
pop!
meg*_*gas 11
这不太正确.
来自Ruby风格指南
潜在的"危险"方法的名称(即修改self或参数的方法,退出!(不会像退出那样运行终结器)等)如果存在危险的安全版本,应以感叹号结尾方法.
而pop方法的名称恰好说明了它正在做什么,因此不需要用感叹号对其进行签名.
归档时间:
13 年,5 月 前
查看次数:
271 次
最近记录: