R 在条件为on时使用默认参数调用函数
我有一个函数R 在条件为on时使用默认参数调用函数,r,R,我有一个函数foo,它接受一个参数并有一个默认参数 foo <- function(b = 2) b 如果栏中提供了b我想用此参数调用foo 如果不是我想用默认参数调用foo 我该怎么做 (我找不到这个问题的好标题,如果你知道更好的,请更改它。)你可以使用…参数: foo <- function(b = 2) b bar <- function(a, ...) { a * foo(...) } bar(a=5) bar(3, b=3) bar(3, 7) foo可
foo
,它接受一个参数并有一个默认参数
foo <- function(b = 2) b
- 如果
我想用此参数调用栏中提供了
b
foo
- 如果不是我想用默认参数调用
foo
(我找不到这个问题的好标题,如果你知道更好的,请更改它。)你可以使用
…
参数:
foo <- function(b = 2) b
bar <- function(a, ...) {
a * foo(...)
}
bar(a=5)
bar(3, b=3)
bar(3, 7)
foo可能a*如果(is.null(b))foo()else foo(b)
在foo
以及bar
中为b
保留相同的默认值是吗?@GKi是的,当然这是一个解决方案,但它确实非常优雅,我希望我能做得更好这可能会有所帮助:-@RonakShah我认为这不是一个好的解决方案。如果此默认参数中有更改,则需要在两个位置进行更改,这很容易出错。我有相同的想法(…
),但您的解决方案更优雅是的,正确。这也是我想到的第一件事,因为它被频繁使用。我想也许还有另一种方法,但当然,这是一种很好的方法。
foo <- function(b = 2) b
bar <- function(a, ...) {
a * foo(...)
}
bar(a=5)
bar(3, b=3)
bar(3, 7)