[解決済み] Haskellの関数合成(.)と関数応用($)イディオム:正しい使い方
2022-06-10 16:03:37
質問
私が読んでいるのは
リアルワールドHaskell
を読んでいて、そろそろ終わりに近づいているのですが、スタイルの問題がずっと気になっていました。
(.)
と
($)
演算子を使用します。
他の関数の合成である関数を書くときは、このように書きます。
f = g . h
しかし、それらの関数の末尾に何かを適用する場合、私はこのように書いています。
k = a $ b $ c $ value
しかし、本ではこのように書かれてしまうのです。
k = a . b . c $ value
さて、私にとってこれらは機能的に同等に見え、私の目にはまったく同じことを行っているように見えます。しかし、見れば見るほど、この本で紹介されているような方法で関数を書いている人を見かけます。
(.)
で構成し、最後にだけ
($)
を使ってロットを評価する値を追加します(誰も多くのドル組成でそんなことはしません)。
を使うよりもずっと良い、ブックの方法を使う理由があるのでしょうか?
($)
記号を使用するよりも優れている理由はありますか?あるいは、私が理解していないベストプラクティスがここにあるのでしょうか?あるいは、それは余計なことであり、私はそれを全く気にするべきではないのでしょうか?
どのように解決するのですか?
権威のある方ならお分かりかと思います。
すべての($)記号を使用するよりもはるかに良いブックの方法を使用する理由があるのですか?
特別な理由はありません。Bryanも私も、行のノイズを減らすことを好んでいます。
.
よりも静かで
$
. その結果、この本では
f . g . h $ x
の構文が使用されます。
関連
-
[解決済み】なぜパースエラーになるのか?インデント?
-
[解決済み] エラー haskell: スコープ内にありません。どういう意味ですか?
-
[解決済み] Haskell - Ord aの型は何を意味するのでしょうか?
-
[解決済み] Haskell Preludeの'const'は何のためにあるのか?
-
[解決済み] haskellにおけるdrop関数 - リスト内包を用いた実装
-
[解決済み] Haskellです。パターンでのパースエラー
-
[解決済み] フリーモナドとは何ですか?
-
[解決済み] IntとIntegerの違いは何ですか?
-
[解決済み] ghciで関数を複数行に渡って定義するには?
-
[解決済み] Haskell における `mod` と `rem` の違い
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Haskell Preludeの'const'は何のためにあるのか?
-
[解決済み] Hindley-Milnerのどの部分が理解できないのでしょうか?
-
[解決済み] .の違いは何ですか?(ドット)と$(ドルマーク)の違いは何ですか?
-
[解決済み] Haskellにはなぜ "data "と "newtype "があるのですか?重複] [重複] [重複
-
[解決済み] 制約条件付き特殊化
-
[解決済み] なぜ依存型でないのか?
-
[解決済み] Haskellのマルチコアプログラミングはどうなっているのか?
-
[解決済み] ハスケル Where vs. Let
-
[解決済み] レコードの単一フィールドを割り当て、残りのフィールドはコピーするための省略記法?
-
[解決済み] HaskellとF#の主な違いは何ですか?[クローズド]