1

関数マップを表す単純な機能があります:

let f a b = fold_right (fun x y -> a(x)::y) b []

a(x)::y の括弧の意味を知りたい

ありがとう!

4

2 に答える 2

3

xの周りのかっこにa(x)は何の意味もありません - それらは完全に冗長です。コードの作成者は、次のように書いてもかまいません。

let f a b = fold_right (fun x y -> a x :: y) b []
于 2013-06-14T15:19:42.130 に答える
0

よく遭遇するのは、ペアのリストのペアを扱うことです。人工的な例:

res, (k, v)::acc

resは、 と 連想リストのペアを返すことを意味します(k, v)::acc。私は通常、意味を捉える最小量の括弧を使用 (および好み) しますが、可読性のために括弧を追加することを勧める人もいます。

「その場で」ペアを計算する場合、追加の括弧は必要ありません。これは、関数の適用とほとんどの演算子が,andよりも優先順位が高いためです::-- 人為的な例:

f x, (a x, v+1)::acc
于 2013-06-15T11:46:45.333 に答える