R中的Currying函数

teu*_*cer 20 r currying

是否有可能使用钻营R

一种可能性是具有特殊paste功能(可以将其视为此处的后续操作),例如(在错误的代码中):

'%+%' <- (sep)function(x,y) paste(x,y,sep=sep)
"a"%+%("")"b"%+%("_")"c" #gives "ab_c"
Run Code Online (Sandbox Code Playgroud)

什么是可能的实现R

PS:这paste只是一个例子,我很好奇R......

Ari*_*man 25

R中函数式编程的标准位置现在是functional库,这个库替换ROxigen这里讨论的库:

library(functional)
newfunc <- Curry(oldfunc,x=5)
Run Code Online (Sandbox Code Playgroud)

  • 这里提到的咖喱功能并不是很好的.它正在进行部分应用.按照功能库的这个答案,所以我认为值得提出警告;). (4认同)

Kev*_* L. 2

在 R 中可以进行柯里化,并且 ROxygen 包中有一个定义。请参阅此处的讨论