1

サイズが 35K の配列があり、それをハッシュに変換したいと考えています。以下の方法でサイズ12Kの配列を変換できました。

a = []
12000.times { |i| a << i }
Hash[*a]

しかし、サイズが 12K を超える配列を試してみると、 SystemStackError: stack level too deep エラーが発生します。

誰でも提案できますか?何がうまくいかないのですか?

4

1 に答える 1

1

これを試すことができます

a = [*1..1_000_000].to_a
b = {}
a.each_slice(2){|k,v| b[k] = v}
于 2013-02-07T12:29:09.363 に答える