首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >填充Ruby数组,如[a,a]..[女性,女性]

填充Ruby数组,如[a,a]..[女性,女性]
EN

Stack Overflow用户
提问于 2015-06-29 03:17:07
回答 3查看 65关注 0票数 0

我需要填充一个数组,但不能直接计算和拆分数字。

我需要生成以下内容:

代码语言:javascript
复制
[[a,a,a,a], [a,a,a,b], [a,a,a,c]..... [f,f,f,d], [f,f,f,e], [f,f,f,f]]

我正努力去理解它。我意识到它应该使用递归逻辑,但我不知道如何实际构建该方法。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-29 03:21:53

我会这样做:

代码语言:javascript
复制
('a'..'f').to_a.repeated_permutation(4).to_a
#=> returns 1296 different combination from ['a','a','a','a'] to ['f','f','f','f']
票数 3
EN

Stack Overflow用户

发布于 2015-06-29 04:56:50

这应该能行。

代码语言:javascript
复制
(0...6**4).map do |i|
  # Get as base 6 
  s = i.to_s(6).rjust(4,'0')

  # Convert numbers to letters
  s.gsub(/[012345]/,'0' => 'a', '1' => 'b', '2' => 'c', '3' => 'd', '4' => 'e', '5' => 'f')
end
票数 1
EN

Stack Overflow用户

发布于 2015-06-29 05:27:17

另一种办法是:

代码语言:javascript
复制
('aaaa'..'ffff').map(&:chars)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31107236

复制
相关文章

相似问题

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