1

かっこを取り除くことについてのあらゆる種類のアドバイスを目にしますが、最初の Ruby のレッスンを行うとき、2 次元配列を正しく作成しているかどうかを確認したいと思います。

今のところ私は制限されています

puts my_2D_array[0]
puts my_2D_array[1] #etc

でも見たい

[ [6,6,3] , [7,4,7] , [4,7,4] ]

私が得ているものではなく、

663747474

トリックは何ですか?そして、私は間違いなく配列を扱っています-文字列ではありません...

4

1 に答える 1

2

p array要求した出力が得られます。

[[6,6,3]、[7,4,7]、[4,7,4]]

各行を別々の行に表示したいですか? 次に使用します。

array.each {|e| p e}

取得するため:

[6,6,3]
[7,4,7]
[4,7,4]

Array クラスにメソッドを追加できます。

class Array
  def ppa # 'pretty-print array'
    self.each {|e| p e} # or just 'each {|e| p e}' 
  end
end

それはあなたが書くことを可能にするでしょう

array.ppa

同じ 3 行の出力が得られます。( putsandinspectの代わりに使用できますp。) これを頻繁に使用すると思いますか? 次に、このコードを「array_print.rb」という名前のファイルに入れ、'require array_print'「.rb」コード ファイルの先頭に追加します。プログラムを実行するたびに、 のステートメントarray_print.rbが実行され、Arrayメソッドpprが使用できるようになります。

それだけではありません!3 次元配列、ハッシュ、配列のハッシュなどについても適切にフォーマットされた出力が必要であるとします。上記で説明したアプローチについて詳しく説明することはできますが、なぜ車輪を再発明するのでしょうか? これらすべてを処理してくれる優れた Ruby gem がいくつかあります。人気の1つが「awesome print」。この gem をインストールrequire 'awesome_print'したら、コード ファイルに追加するだけです。その後、そのapメソッドを使用して出力をフォーマットできます。( gem のインストール方法については、RubyGemsを参照してください。簡単です)。

awesome print が何をするかを知るために、上記の配列の代わりに次のハッシュを表示したいとします。

hash = {"cat"=>["mice", "birds"], "dog"=>["master",["kids", "moms"]]} 

を実行するap hashと、次のようになります。

{
    "cat" => [
        [0] "mice",
        [1] "birds"
    ],
    "dog" => [
        [0] "master",
        [1] [
            [0] "kids",
            [1] "moms"
        ]
    ]
}
于 2013-10-07T06:23:05.263 に答える