【发布时间】:2015-03-29 02:32:23
【问题描述】:
在 R 中,是否可以根据参数值 ala Haskell 进行函数模式匹配?
即如果参数 x 是 ='foo',运行一个版本的函数,如果 x 是 'bar',运行另一个版本?显然,如有必要,这可以使用 if 语句来完成,但我想知道是否有更“功能性”的方法。
例如,在不使用 ifelse 语句进行调节的情况下自动进行这种函数选择(foo1 vs. foo2):
foo1 <- function(a) {
paste0(a, 'foo1')
}
foo2 <- function(a) {
paste0('baz', a, 'foo2')
}
x <- 'barp'
value <- ifelse(x == 'barp', foo1(x), foo2(x))
【问题讨论】:
标签: r haskell pattern-matching