return是函数的返回值
1 class Mtring 2 def initialize(str) 3 @name = str 4 end 5 def aa 6 ary = @name.split(/:/) 7 return ary.size 8 end 9 10 end 11 12 str1 = Mtring.new("Ruby in a shell:hello:2001:USA") 13 p str1.aa 14 15 #=》4
这段代码涉及了类的实例方法应该怎么给new出来的对象进行赋值。
关于initialize方法,在调用new方法建立对象的时候,这个initialize方法就会被调用;同时,传递给new的所有实参都会传递给initialize的方法,所有我们在这个方法中做了一个初始化的动作,给一个实例变量赋值(@打头的变量叫做实例变量,它的值在离开方法之后也依然存在。)
1 class Mtring 2 # def initialize(asd = "just ad d o") 3 # @asdf = asd 4 # end 5 def count_word(aaa) 6 ary = aaa.split(/s+/) 7 return ary.size 8 end 9 end 10 p Mtring.new.count_word("just ad") 11 p aaa 12 13 #=》2