[解決済み] 理解する `andThen`
2022-03-03 08:11:20
質問
こんなことがありました
andThen
しかし、それを正しく理解していなかった。
さらに見るために、私は 関数1.andThen ドキュメント
def andThen[A](g: (R) ⇒ A): (T1) ⇒ A
mm
は
マルチマップ
のインスタンスです。
scala> mm
res29: scala.collection.mutable.HashMap[Int,scala.collection.mutable.Set[String]] with scala.collection.mutable.MultiMap[Int,String] =
Map(2 -> Set(b) , 1 -> Set(c, a))
scala> mm.keys.toList.sortWith(_ < _).map(mm.andThen(_.toList))
res26: List[List[String]] = List(List(c, a), List(b))
scala> mm.keys.toList.sortWith(_ < _).map(x => mm.apply(x).toList)
res27: List[List[String]] = List(List(c, a), List(b))
注 - 以下のコードは DSL の動作
は
andThen
は強力ですか?この例からすると、次のようになります。
mm.andThen
に脱糖する。
x => mm.apply(x)
. に深い意味があるのなら
andThen
というのは、まだ理解していないのです。
どのように解決するのですか?
andThen
は単なる関数合成です。ある関数が与えられると
f
val f: String => Int = s => s.length
andThen
を適用する新しい関数を作成します。
f
に続いて、引数の関数
val g: Int => Int = i => i * 2
val h = f.andThen(g)
h(x)
は
g(f(x))
関連
-
[解決済み】Spark - アプリの投稿時に「設定にマスターURLが設定されている必要があります」というエラーが発生する
-
[解決済み] Scalaでステートメントの間にN秒待つには?
-
[解決済み] Scalaでswitch/case(単純なパターンマッチ)を使うには?
-
[解決済み] Scala: スライド(N,N) vs グループ化(N)
-
[解決済み] Scalaの変数の表示形式
-
[解決済み] 理解する `andThen`
-
[解決済み] Scalaのリターン
-
[解決済み】タスクがシリアライズされない:オブジェクトではなくクラスに対してのみクロージャの外で関数を呼び出すとjava.io.NotSerializableExceptionが発生する
-
[解決済み】Scalaのウェブフレームワークは何がありますか?[クローズド]
-
[解決済み】Scalaのimplicitを理解する。
最新
-
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でステートメントの間にN秒待つには?
-
[解決済み] Seq[Future[Person]]ではなく、Future[Seq[Person]]を取得する方法
-
[解決済み] Scalaで定数メンバを定義するには?
-
[解決済み] Spark - Sparkでパーセンタイルを計算する方法は?
-
[解決済み] scalaのforeachループ
-
[解決済み] Scalaのリターン
-
[解決済み】Scalaのvarとvalの定義の違いは何ですか?
-
[解決済み】タスクがシリアライズされない:オブジェクトではなくクラスに対してのみクロージャの外で関数を呼び出すとjava.io.NotSerializableExceptionが発生する
-
[解決済み】良いスカラズの紹介【終了しました
-
[解決済み] 縮小、折りたたみ、スキャン(左/右)?