問題:最初の引数が単項関数で2番目の引数リストである関数mapfを定義します。結果は、引数リストの各要素に適用される関数のリストです。折り返し関数ではなくfold_rightを使用して1ライナーを記述します。 ソリューション: let mapf fn list = fold_right (fun h t -> fn h :: t) list []
私はfold_rightは、再帰的な方法で、リ
dropnth' :: [a] -> Int -> [a]
dropnth' xs n = foldl (\a b -> if (last a) == xs!!n then a else b ++ []) [head xs] xs
私はfoldlを使用してこの「リストのn番目の要素を削除する」問題を解決しようとしていましたが、エラーが発生しています。どうやってやるの? エラー:
タイプがUuidのidフィールドを持つレコードのタイプを指定したいとします。したがって、私は拡張可能なレコードを使用しています。タイプは次のようになります。 type alias WithId a = { a | id : Uuid }
これまでのところ、とても良いです。しかし、私はJson.Encoder、つまりこのタイプのタイプのWithId a -> Valueの関数を作成しました。基本
Javascriptでは、ファーストクラスの値なので、関数を渡すために使用されています。私はちょうど私ももっと簡潔addを好む、ラムダ$add = function ($m, $n) {return $m + $n;}を割り当てることができます知っている function fold($f, $acc) {
return function ($xs) use ($f, &$acc) {