在 Ruby 中,使用方法前,必须先声明与定义方法。Ruby 的方法由方法返回值类型 、方法名、参数列表、方法体和返回语句组成。
def method_name [( [arg [= default]]...[, * arg [, &expr ]])]
expr..
end
所以,您可以定义一个简单的方法,如下所示:
def method_name
expr..
end
您可以定义一个接受参数的方法,如下所示:
def method_name (var1, var2)
expr..
end
参数 | 描述 |
---|---|
method_name | 方法名。 |
arg | 可选,方法参数列表。 |
方法定义由一个 def 关键字开始。
[retvalue =] method_name( paramlist )
参数 | 描述 |
---|---|
method_name | 方法名。 |
paramlist | 可选,方法参数列表。 |
retvalue | 可选,方法返回值。 |
Ruby 方法如果没有返回值,可以省略 retvalue。
用方法,实现获取两个数中的最大值
#!/usr/bin/ruby -w
# -*- coding : utf-8 -*-
puts "HaiCoder(www.haicoder.net)"
def maxInt(a, b)
if a > b
return a
else
return b
end
end
maxValue = maxInt(10, 20)
printf("maxValue = %d\n", maxValue)
程序运行后,控制台输出如下:
我们定义了一个方法 maxInt,传入两个的参数 a 和 b,方法返回一个 int 类型的参数。在方法里面,我们使用 if 语句 判断 a 和 b 的值,如果 a > b 成立,那么就返回 a 的值,如果不成立,则返回 b 的值,因此实现了寻找 a 和 b 中最大数的逻辑。
接着,我们调用了 maxInt 方法,并传入了两个参数 10 和 20,使用 maxValue 变量来接受 maxInt 方法返回的值,最后打印方法返回的结果。
实现计算两个数之间的所有数的和
#!/usr/bin/ruby -w
# -*- coding : utf-8 -*-
puts "HaiCoder(www.haicoder.net)"
def mySum(a, b)
res = 0
for i in a..b
res += i
end
return res
end
sumResult = mySum(10, 20)
printf("sumResult = %d\n", sumResult)
程序运行后,控制台输出如下:
我们定义了一个方法 mySum,传入两个参数 a 和 b,方法返回一个 int 类型的返回结果。在方法里面,我们使用 for 循环 遍历 a 和 b 之间的所有数,并将它们相加赋值给变量 res,最后返回 res 即实现了求 a 和 b 之间的和的逻辑。
当然,这题,我们没有考虑 a 小于 b 的情况,最好的方法,应该是找到 a 和 b 中的最大值和最小值,然后再使用 for 循环遍历相加。
在 Ruby 中,使用方法前,必须先声明与定义方法。Ruby 的方法由方法返回值类型 、方法名、参数列表、方法体和返回语句组成。