2013-03-26 19 views

cevap

7

da işlevsel kullanışlı functional::Curry yok:

f <- function(a, b, c) {a + b + c} 
f(1, 2, 3) 
# [1] 6 

library(functional) 
g <- Curry(f, a = a1, c = c1) 
g(b=2) 
# [1] 6 
g(2) 
# [1] 6 

Ben @ NPE çözümü ile önemli bir fark Curry kullanılarak g tanımı b söz etmediğini düşünüyorum. Bu nedenle, f'daki argüman sayısı büyüdüğünde bu yaklaşımı tercih edebilirsiniz.

+1

Ayrıca pryr :: parsiyel ve ptools ','% <<%', '%>>% 've'%()% 'de bulunmaktadır. Argümanların kısmi değerlendirilmesinin ve tembel değerlendirmesinin nasıl etkileşimde olması gerektiği açık değildir ve her paket biraz farklı bir yaklaşım gerektirir. – hadley

5
g <- function(b) f(a1, b, c1) 
İlgili konular