これには正当な理由があると確信していますが、私はそれを見ていません。
Fold
オン(言う)List
リターン
op
すべての要素の間に折り畳み演算子を適用した結果とz
and との明らかな関係がfoldLeft
ありfoldRight
ますが、同じことを行いますが、順序が定義されています (したがって、結合演算子は必要ありません)。
Fold
Option
返品について
が空でない場合、
f
thisの値に適用した結果を返します。それ以外の場合は、式を評価します。scala.Option
scala.Option
ifEmpty
ifEmpty
z
リスト の (の位置にある)です。f
は(の位置に)op
(値を含む場合と含まない場合がある「コンテナ」としてのNone
私のメンタルモデルを使用すると、「空の」コンテナです)、問題はなく、ゼロ(の値)を返します。Option
Option.fold
ifEmpty
Some(x)
ただし、 for は 2 つのパラメーターを取るべきではないためf
、 on シーケンスz
とx
一致します (および とfold
同様の関係を持つことを含む)。foldLeft
foldRight
これには間違いなく実用的な議論があります -実際にはパラメータとしてf
取るだけx
の方がおそらく便利です。ほとんどの場合、それもかかっz
た場合は無視されます。しかし、一貫性も重要です...
では、なぜfold
on Option がまだ「適切」なのか説明してもらえますfold
か?