如何将数组中的每个元素转换为自己的数组?

使用Ruby 2.4。 我有一系列字符串……

["a", "b", "c"] 

我如何采取上述内容并将每个元素转换为自己的一个元素数组? 所以我希望这样一个操作的结果

 [["a"], ["b"], ["c"]] 

您可以使用zip

 ["a", "b", "c"].zip #=> [["a"], ["b"], ["c"]] 
 a.map { |s| Array(s) } 

要么

 a.map { |s| [s] } 

此外,您可以使用combinationpermutation方法,它还提供更多function

 a.combination(1).to_a #=> [['a'], ['b'], ['c']] a.combination(2).to_a #=> [["a", "b"], ["a", "c"], ["b", "c"]] a.permutation(1).to_a #=> [['a'], ['b'], ['c']] a.permutation(2).to_a #=> [["a", "b"], ["a", "c"], ["b", "a"], ["b", "c"], ["c", "a"], ["c", "b"]]