首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动态创建散列和数组

动态创建散列和数组
EN

Stack Overflow用户
提问于 2012-06-27 22:26:46
回答 2查看 261关注 0票数 0

我正在寻找解决问题的Ruby-est方法。

我在我的应用程序中有一个类似于以下形式的代码:

代码语言:javascript
复制
data = [1,2,3,4]
a = []
b = []
h = {}
data.each do |val|
  h[val] = func1(val)
  a.push func2(val)
  b.push func3(val)
end

当然,这是一种简化。给出这样的代码,我想要做的是删除代码片段中的第2-4行,这样我就有了如下内容:

代码语言:javascript
复制
 h, a, b = data.some_func{|val|
   # do something
 }

我的直觉是map是不够的,但我不确定我需要什么。我的代码可以工作,但它看起来不是很像红宝石。我应该在这里做什么?

EN

Stack Overflow用户

发布于 2012-06-27 22:32:39

我认为我的例子不是最好的,但是...你可以决定

代码语言:javascript
复制
h, a, b = data.each_with_object([ {}, [], [] ]) do |val, obj|
  obj[0][val] = func1 val
  obj[1] << func2(val)
  obj[2] << func3(val)
end

编辑:除非你理解each_with_object,否则很难读懂……也许你最初的解决方案是最好的方法。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11228479

复制
相关文章

相似问题

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