Scala - 配列を表示する
2023-10-27 19:25:56
質問
Scalaでは配列の印刷のサポートがやや不足しているように思えます。 もし1つを印刷すると、Javaで得られるようなデフォルトのゴミが出ます。
scala> val array = Array.fill(2,2)(0)
array: Array[Array[Int]] = Array(Array(0, 0), Array(0, 0))
scala> println(array)
[[I@d2f01d
さらに、java.util.ArraysクラスのJavaのtoString/deepToStringメソッドは使用できません:(少なくとも私はそれを理解することはできません)。
scala> println(java.util.Arrays.deepToString(array))
<console>:7: error: type mismatch;
found : Array[Array[Int]]
required: Array[java.lang.Object]
println(java.util.Arrays.deepToString(array))
2次元の配列を印刷するために私が見つけた最良の解決策は、次のようにすることです。
scala> println(array.map(_.mkString(" ")).mkString("\n"))
0 0
0 0
もっと慣用的なやり方はないのでしょうか?
どのように解決するのですか?
Scala 2.8では、Scala 2.0と同様に
deep
メソッドが定義されており、この配列の全ての(ネストされた可能性のある)要素を含むIndexedSeqを返し、それに対してmkStringを呼び出すことができます。
scala> val array = Array.fill(2,2)(0)
array: Array[Array[Int]] = Array(Array(0, 0), Array(0, 0))
scala> println(array.deep.mkString("\n"))
Array(0, 0)
Array(0, 0)
返されたIndexedSeqはデフォルトでstringprefix 'Array'を持っているので、これが正確にあなたが望んだものを与えるかどうかはわかりません。
関連
-
[解決済み] Scalaのオブジェクトとクラスの違い
-
[解決済み] Scalaでファイル全体を読む?
-
[解決済み] 述語で配列を2つに分割するには?
-
[解決済み] IntelliJ IDEAで依存関係が変更された後、build.sbtから強制的に再ロードするには?
-
[解決済み] Scalaのforループは下降か減少か?
-
[解決済み] scalaの列挙を理解する
-
[解決済み] 同じ要素をn回含むリストを作るには?
-
[解決済み] パッケージオブジェクト
-
[解決済み] Scalaの継続性とは何か、なぜ継続性を使うのか?
-
[解決済み] Scalaの代入が、代入された値ではなく、Unitで評価される動機は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ネストした構造体をよりきれいに更新する方法
-
[解決済み] Scala の Case Classes のオーバーロード・コンストラクタ?
-
[解決済み] Scalaのアクター:受信と反応
-
[解決済み] build.sbtとbuild.scalaの違いは何ですか?
-
[解決済み] Scalaでリストを2つのフィールドでソートするには?
-
[解決済み] Scalaです。ScalaのコレクションにおけるTraversableとIterableの違いは何ですか?
-
[解決済み] sbtのヒープサイズを設定するには?
-
[解決済み] Abstract ClassとTraitの違い[重複]について
-
[解決済み] Scala Mapのキーと値の両方をマッピングする
-
[解決済み] Scalaの複数パラメータリストと複数パラメータ/リストの違いは何ですか?