1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> スマートホーム >> スマートライフ

Ruby で多次元配列を作成する方法

Ruby で多次元配列を作成する方法。 Ruby は多次元配列を明示的にサポートしていませんが、言語の基本的な知識があれば自分で実装できます。本質的に、配列の各要素がさらに別の配列を保持する「配列の配列」を作成する必要があります。このような多次元配列を Ruby で作成するには、コードを繰り返す必要がないように、配列の配列を生成するために使用されるメソッドを記述できます。

Ruby で多次元配列を作成する

ステップ 1

メソッドの骨組みを書きます。このメソッドは、多数の次元引数を取り、それらの次元の空の多次元配列を返します。たとえば、10x10 配列の場合、このメソッドを呼び出します mda(10,10):def mda(width,height)end

ステップ 2

幅要素の配列を作成します。

ステップ 3

配列内のすべての要素に対して高さ要素の配列を作成します。これにより、2 次元配列として使用される「配列の配列」が作成されます。特定の長さの空の配列を作成するには、長さを引数として Array.new コンストラクターを使用します。最初は、配列内のすべての値は nil になります。

ステップ 4

マップを使おう!メソッドも。地図!メソッドは、配列内のすべての要素を反復し、すべての要素に対してブロックを実行し、ブロックの結果を配列要素に割り当てます。 for ループを使用しても同じ結果が得られますが、map!メソッドはより簡潔です:def mda(width,height)a =Array.new(width)a.map! { Array.new(height) }return aend

ステップ 5

この配列を添え字 (角括弧 []) 演算子と共に使用します。たとえば、「a」という名前の 10x10 の配列があり、7,3 要素が必要な場合は、a[7][3]:a =mda(10,10)# 配列に値を入力しますa[7][ 5] ="文字列"a[2][9] =23# 値を取得するputs a[7][5]puts a[2][9]

ステップ 6

Ruby のメソッド呼び出しを「連鎖」する機能を利用します。たとえば、Array.new メソッドは配列を返します。その上に別のメソッド呼び出しをチェーンして、返された配列でメソッドを呼び出すことができます。メソッドをチェーンしていて、return ステートメントを使用していないため、変数名も必要ありません:def mda(width,height)Array.new(width).map!{ Array.new(height) }end

ヒント

Ruby は非常に表現力豊かです。 MDA メソッドは、短く簡潔な 1 行のコードにすることができます。余分な行やキーワードは、コードを実際よりも複雑に見せるだけです。 Ruby では return ステートメントは必要ありません。 Ruby のメソッドとブロックは、メソッドまたはブロックで最後に実行されたステートメントの結果を自動的に返します。