関数のリストがあるとしましょう
functions = [f, g, h]
それぞれタイプありa -> a
数値などの値のリストもありますが、ここでは何でも機能するはずです
vals = [1,2,3]
functions
各関数を対応する値に適用したいvals
私の最初の本能は、ラムダと zipWith を次のように使用することです。
zipWith (\f v -> f v) functions vals
しかし、率直に言って、これは見た目が悪く、Haskell のような優れた言語では期待できないものです。関数適用関数は解決策のように聞こえます。そのようなことはありますか?私は何かを見逃していますか?私の問題に対するより良い解決策はありますか?私は実際に、Project Euler ソリューション用にこの構造を作成することになりました。それは機能しますが、私はそれが好きではありません。