首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >清理依赖调用链

清理依赖调用链
EN

Stack Overflow用户
提问于 2015-06-17 14:45:46
回答 1查看 28关注 0票数 1

如何使这类代码变得更干净:

代码语言:javascript
复制
def some_public_method(arg)
  var1 = private_method(arg)
  var2 = private_method1(var1) if var1
  var3 = private_method2(var2) if var2
  var4 = private_method3(var3) if var3
  private_method4(var4) if var4
end

更新:对不起,忘了更改方法名称。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-17 16:28:53

这是你能做到的一种方法。

代码语言:javascript
复制
def some_public_method(private_methods, arg)
  private_methods.reduce(arg) { |x,m| x && send(m, x) }
end

private

def pm1(arg); arg+1; end
def pm2(arg); arg+2; end
def pm3(arg); arg+3; end

示例

代码语言:javascript
复制
private_methods = [:pm1, :pm2, :pm3]

some_public_method(private_methods, 0) #=> 6

def pm2(arg); nil; end
some_public_method(private_methods, 0) #=> nil
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30894979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档