想写一个优雅的ruby系列。 – 20180302
tap方法:
对比一下以下的两种写法:
- 方法a:
user = User.new
user.username = "foobar"
user.save!
- 方法b:
user = User.new.tap do |u|
u.username = "foobar"
u.save!
end
可以很明显看出,在实例化一个User对象的时候,b方法比a方法可读性更强。tap方法把所有实例化过程用do…end给包了起来。
现在是代码行数不多,当代码多的时候,这样coding方式就会显得可读性强,且非常清晰优雅。