[解決済み] scalaのforeachループ
2022-03-13 07:44:39
質問
scalaのforeachループで、リストがある場合
val a = List("a","b","c","d")
このようにパターンマッチなしで印刷することができます。
a.foreach(c => println(c))
しかし、次のようなタプルがあるとします。
val v = Vector((1,9), (2,8), (3,7), (4,6), (5,5))
を使用する必要があるのでしょうか?
v.foreach{ case(i,j) => println(i, j) }
- パターンマッチングケース
- 括弧
2つのforeachループが実行されるとどうなるのか、説明してください。
どのように解決するのですか?
そうする必要はない。問題は、現在のScalaコンパイラがタプルを分解しないことですが、あなたはできます。
v.foreach(tup => println(tup._1, tup._2))
しかし、新しい変数名で各要素を単独で参照したい場合は、タプルを分解できるパターンマッチングの部分関数に頼らざるを得ません。
を使用した場合、コンパイラはこのような処理を行います。
case
というように
def main(args: Array[String]): Unit = {
val v: List[(Int, Int)] = scala.collection.immutable.List.apply[(Int, Int)](scala.Tuple2.apply[Int, Int](1, 2), scala.Tuple2.apply[Int, Int](2, 3));
v.foreach[Unit](((x0$1: (Int, Int)) => x0$1 match {
case (_1: Int, _2: Int)(Int, Int)((i @ _), (j @ _)) => scala.Predef.println(scala.Tuple2.apply[Int, Int](i, j))
}))
}
無名の
x0$1
を配置し
_1
と
_2
内側
i
と
j
それぞれ
関連
-
[解決済み] NoClassDefFoundError: org/apache/hadoop/fs/StreamCapabilities (s3データをsparkで読み込む際に発生します。
-
[解決済み] Scalaの''って何?
-
[解決済み] C#がforeachで変数を再利用するのは理由があるのか?
-
[解決済み] Javaの「for each」ループはどのように機能するのですか?
-
[解決済み] foreachループの現在の反復処理のインデックスを取得するにはどうすればよいですか?
-
[解決済み] IEnumerable<T>のforeachのLINQでの等価性
-
[解決済み] Goにforeachループはあるのか?
-
[解決済み] foreachループの最初と最後の繰り返しを決定する方法は?
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み] 型の論理和(ユニオン型)はどのように定義するのですか?
最新
-
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でsynchronizedを使うには?
-
[解決済み] Scalaでswitch/case(単純なパターンマッチ)を使うには?
-
[解決済み] GSON JsonObject "Unsupported Operation Exception: null" getAsString
-
[解決済み] 実行時に変数の型を取得したい
-
[解決済み] Scala 無名クラスでextendsを使用する方法
-
[解決済み] Scala マップ foreach
-
[解決済み] Scalaのcase classとclassの違いは何ですか?
-
[解決済み] Scalaでファイル全体を読む?
-
[解決済み】Scalaにおける中括弧と括弧の正式な違い、また、どのような場合に使用すべきなのか?
-
[解決済み] 縮小、折りたたみ、スキャン(左/右)?