是否可以将其他参数传递给管道,例如:
我们有:
v= (s > pipe | a | b | c)
这与
相同v= c(b(a(s)))
如何使用管道,如:
v= c(b(a(s), d))
答案 0 :(得分:2)
这里的图书馆作者现在随机发现了这个问题,但是也许仍然可以帮助某个人。
如果您需要局部应用,而管道输入必须位于局部应用参数的前面或中间,则可以使用X
对象为其标记空间。因此,对于您的示例,您可以这样做:
from pipetools import pipe, X
...
v = s > pipe | a | (b, X, d) | c
此功能由xpartial
功能启用,也可以在管道外部使用。更多信息in the docs
答案 1 :(得分:1)
根据此处的示例http://0101.github.io/pipetools/doc/#automatic-partial-application-in-the-pipe
您可以使用v= s > pipe | a | (b,d) | c
等于v= c(b(d, a(s)))
我不知道如何获取v= c(b(a(s), d))
或者管道工具包是否支持
答案 2 :(得分:0)
偶然发现了这个答案,以防万一有人需要另一个用例,
>>> from pipetools import pipe,X
>>> def multArgs(x,y):
return x+y+1
>>> 1 > pipe | (multArgs,2) #4