したがって、問題は shapeless ライブラリhttps://github.com/milessabin/shapelessの HLists を理解することにあります。私はHLists
いくつかの関数を保存するために使用しています:
val list = HList(
function1(_),
function2(_),
....
functionn(_)
);
そして、それは完璧に機能します。リストから任意の関数を取得して適用できます。
list.head(object)
しかし、map
関数(list map mapFunc
)で適用するのに問題があります:
object mapFunc extends Poly1 {
implicit def default[T] =
at[T](t => {
t(obj)
})
}
それは言いApplication doesnt take parameters
ます。では、どうすれば対処できますか?Mb私はsmthを理解していませんか?私はScalaが初めてです。
psコンストラクターには興味深い効果があります。このコードは少し間違っています:
function1(_) :: function2(_) :: HNil
何らかのタイプの関数として認識されますHList(function1(_), function2(_))
が、正しいタイプを持っています。
編集
'ps' が決定されました -function1(_) :: function2(_) :: HNil
本当に型の不一致があります。function1 _ :: function2 _ :: HNil
でも大丈夫です!