ruby方法名之命名方式

上一篇博文 ruby传参之引用类型 里边定义了一个方法名 modify_my_object!,这个方法名是以 ! 结尾,在 ruby 的对象里边是用于表达修改本身的意思。

比如 String#gsub,返回的是一个新的字符串对象;而 String#gsub!,返回的是自身已经被修改的对象。

不止 ! 这样的特殊字符可以命名,ruby 还常用 ? 结尾用于获取布尔型变量的状态,用 = 结尾用于赋值,类似于其他语言的 get,set。

[](param),[]=(key, val) 等都可以用于方法名,来达到以下效果,在 Array,Hash 里边就可以了解到。

obj[1] # -> 通常用于取值
obj[key] = val # -> 通常用于赋值

这是 ruby 的一些基本的命名方式,ruby 的开发文档可以了解到这些内容,我们做开发,也要遵循 ruby 的规则。

最后,附上一小段代码

class MyObject

    def initialize
        @array = []
    end

    def [](index)
        @array[index]
    end

    def []=(index, val)
        @array[index] = val
    end

end

obj = MyObject.new
obj[0] = 0
obj[1] = 1
puts obj[0] # -> 0
puts obj[1] # -> 1

 

posted @ 2019-01-11 12:49  linying1991  阅读(371)  评论(0编辑  收藏  举报