方法定义
在 Ruby 中方法就相当于其他编程语言中的函数,但是方法必须是以小写字母开头的(切记!)!
def method_name [args]
statements
end
与其他编程语言(如C语言)一样,其方法也可以接收参数
范例:
#!/usr/bin/ruby #文件名为test.rb
def test(arg1="Hello",arg2="Ruby!")
puts "#{arg1} #{arg2}"
end
test #调用test方法
运行:
Tip:在 ruby 程序中 #
代表注释
返回值
同样 ruby 的方法也可以有返回值的
#!/usr/bin/ruby #文件名为re_test.rb
def re_test
i = 20
j = 30
k = i + j
return k
end
re_var = re_test #调用re_test方法,并将其返回值赋给var(局部变量,还记得起几种变量的定义方式了么?)
puts "return value: ",re_var
运行:
可变数量的参数声明方法
范例:
#!/usr/bin/ruby #文件名decla_te.rb
def decla_te(*decla)
puts "The number of parameters is #{ decla.length}"
for i in 0... decla.length
puts "The parameter is #{ decla [i]}"
end
end
decla_te "Zara", "6", "F"
decla_te "Mac", "36", "M", "MCA"
运行:
$ ruby decla_te.rb
如果单个 decla 作为 decla_te 的参数,则调用时只能传一个参数,加上 *
后参数数量就是可变的了
类中的方法
如果您学习过 C++,那么您肯定对私有 (private) 和公有 (public) 不会陌生。
同样 Ruby 也是有 private
和 public
的,而且当方法定义在类定义外时则该方法默认被标记为 private
,若在类定义中那么默认标记为 public
。
范例:
#!/usr/bin/ruby #文件名为class_fun.rb
class Class_fun #创建一个Class_fun类
def fun1
puts "This is the first test for class."
end
def fun2
puts "This is the second test for class."
end #类中包括两个成员函数
end
test1=Class_fun.new
test2=Class_fun.new #创建类Class_fun的两个对象
test1.fun1 #对象调用类的成员函数
test2.fun2
运行:
$ ruby class_fun.rb