情况是这样,有两个方法,a 和 b,a 中调用了 b
通过 var_a 可以计算出 var_b,而 var_c 需要通过 var_a 和 var_b 计算得到
通过 var_a 和 var_b 计算得到 var_c 具备一个独立且有意义的功能,因此定义一个 b 方法
在 b 方法里,得到 var_c 有两种途径:
1.传入 var_a,通过 var_a 计算出 var_b,再通过两者计算出 var_c,这样的话,在 a 中调用 b 方法,var_a -> var_b 相当于计算了两次
2.传入 var_a 和 var_b,后者是冗余的,只是为了免去一次重复的计算,当然 var_b 可以通过设置缺省值 nil,var_b 为 nil 的时候还是通过 var_a 去计算 var_b
def a
var_a # 假设这里计算出一个var_a
var_b # var_b通过var_a计算得到
var_c = b()
# 假定这里还有一些处理var_a和var_b的逻辑
end
def b(?)
var_a
var_b
var_c # var_c通过var_a和var_b计算得到
end