Ruby方法

本文介绍了 Ruby 中的方法高级特性,包括参数默认值、可变参数、块及 Proc 对象的使用方式。通过示例展示了如何利用这些特性简化代码并提高灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ruby方法
1、参数可以有默认值,对java的多态而言可以省去很多代码
def method(arg1='hello',arg2='world')
end
2、可以一次性传递任意多个参数,以*开头,只能放在方法定义的最后一个参数位置
def method(arg1='hello',*arg2)
end
arg2是一个Array的参数数组
3、块和Proc对象的关联。当方法接受参数中最后一个参数以&开头的时候,任何以之关联的块都会转换为Proc对象,并且这个Proc对象将会赋值给这个参数
class TaxCalculator
def initialize(name, &block)
@name, @block = name, block
end
def get_tax(amount)
"#@name on #{amount} = #{ @block.call(amount) }"
end
end

tc = TaxCalculator.new("Sales tax") {|amt| amt * 0.075 }
tc.get_tax(100) => "Sales tax on 100 = 7.5"
tc.get_tax(250) => "Sales tax on 250 = 18.75"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值