6

私は配列を持っています:

my_array = [[1,2,3,4],
            [5,6,7,8],
            [9,10,11,12]]

各「セル」を繰り返し処理し、値を別のものに変更したいと思います。配列をフラット化して再構成せずにこれを行うにはどうすればよいですか。何かのようなもの:

   my_array.each_with_index do |row, row_index|
      row.each_with_index do |cell, col_index|
        my_array[row_index][col_index] = random_letter
      end
    end

上記の方法は、私が考える方法とは正確には一致しません(ランダムな文字は機能しますが、各行には最後の行と同じランダムな文字が同じ順序で含まれています)

考え?

4

2 に答える 2

1

私は以下がうまくいくと思います:

my_array.map{|ar| ar.map{ "random number" } }


my_array = [[1,2,3,4],
        [5,6,7,8],
        [9,10,11,12]]
my_array.map{|ar| ar.map{ rand(100...400) }}
# => [[345, 264, 194, 157], [325, 117, 144, 149], [303, 228, 252, 199]]
于 2013-07-18T18:54:31.807 に答える