たとえば、数値のリストが与えられた場合、 x -1 = 0の(1 3 6 10 0)
場合、どのように差(x i --x i-1)を計算しますか?
(この例の結果は次のようになります(1 2 3 4 -10)
)
私はこの解決策が正しいことを発見しました:
(定義(ペアワイズ-2 f init l) (最初 (foldl (λ(x acc-data) (let([result-list(first acc-data)] [prev-x(2番目のacc-data)]) (リスト (結果リストを追加(list(fx prev-x))) バツ))) (空のリスト0) l))) (ペアワイズ-2-0'(1 3 6 10 0)) ;; =>(1 2 3 4 -10)
ただし、柔軟性の低いソリューションではありませんが、よりエレガントなソリューションが必要だと思います。それはただ醜いです。
関数型プログラミングは初めてですが、コードに関する提案を聞きたいと思います。
ありがとう。