在Ruby中,带有副作用的方法或改变作为参数传递的对象的方法都有"!" 作为后缀.
例如:
"SomeString".gsub!(/S/, "s")
将更改String对象,同时
"SomeString".gsub(/S/, "s")
将处理String对象的副本,并且不会更改方法之外的任何对象的状态.
我喜欢这个约定,我也想在用其他语言编程时使用它.
我的问题:
真正的Ruby程序员(我不是一个;-))真的使用这个约定吗?如果没有,为什么不呢?
在Java,PHP,Perl,Cobol ......中是否有等效的命名方法约定?
August Lille.. 7
Bang方法并不意味着"改变接收器".
http://www.wobblini.net/bang.txt
正如你所看到的,Matz的意思是"比没有感叹号的版本更危险".只是一个普通的FYI,看到目前为止大多数答案提到改变接收器.
Bang方法并不意味着"改变接收器".
http://www.wobblini.net/bang.txt
正如你所看到的,Matz的意思是"比没有感叹号的版本更危险".只是一个普通的FYI,看到目前为止大多数答案提到改变接收器.