Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用functionaljava HList,是否有方法将任意HList的每个元素传递给相应的curried函数?_Java_Functional Programming_Hlist - Fatal编程技术网

使用functionaljava HList,是否有方法将任意HList的每个元素传递给相应的curried函数?

使用functionaljava HList,是否有方法将任意HList的每个元素传递给相应的curried函数?,java,functional-programming,hlist,Java,Functional Programming,Hlist,例如,如果我有一个HList: HList list=… 是否有方法将每个元素应用于当前函数: F=… 这样我就可以得到一个D 而且,如果我将E与HList连接 hlistlist2=list.extend((E)E) 然后以某种方式应用 F ef=.. 以同样的方式发送到该列表 首先,HList不正确。它必须是HCons 是否有方法将每个元素应用于当前函数: F=… 这样我就可以得到一个D 如果我理解了你的问题,你想要这个: A a = list.head(); B b = list.tail

例如,如果我有一个HList:

HList list=…

是否有方法将每个元素应用于当前函数:

F=…

这样我就可以得到一个
D

而且,如果我将
E
与HList连接

hlistlist2=list.extend((E)E)

然后以某种方式应用

F ef=..

以同样的方式发送到该列表

首先,
HList
不正确。它必须是
HCons

是否有方法将每个元素应用于当前函数:

F=…

这样我就可以得到一个
D

如果我理解了你的问题,你想要这个:

A a = list.head();
B b = list.tail().head();
C c = list.tail().tail().head();
D d = f.f(a).f(b).f(c);
它回答了你的问题,还是你的意思是别的

而且,如果我将
E
与HList连接

hlistlist2=list.extend((E)E)

然后以某种方式应用

F ef=..

以同样的方式发送到该列表

同样,如果我的理解是正确的:

E e = list2.head();
A a = list2.tail().head();
B b = list2.tail().tail().head();
C c = list2.tail().tail().tail().head();
D d = ef.f(e).f(a).f(b).f(c);
首先,
HList
不正确。它必须是
HCons

是否有方法将每个元素应用于当前函数:

F=…

这样我就可以得到一个
D

如果我理解了你的问题,你想要这个:

A a = list.head();
B b = list.tail().head();
C c = list.tail().tail().head();
D d = f.f(a).f(b).f(c);
它回答了你的问题,还是你的意思是别的

而且,如果我将
E
与HList连接

hlistlist2=list.extend((E)E)

然后以某种方式应用

F ef=..

以同样的方式发送到该列表

同样,如果我的理解是正确的:

E e = list2.head();
A a = list2.tail().head();
B b = list2.tail().tail().head();
C c = list2.tail().tail().tail().head();
D d = ef.f(e).f(a).f(b).f(c);

三年后,当我读到我的问题时,我发现它很可怕。我在apply(f,list)中想到了一些东西,然后(使用相同的apply函数)apply(ef,list2)三年后当我读到我的问题时,我发现它很可怕。我想到了apply(f,list),然后(使用相同的apply函数)apply(ef,list2)