假设我有一个R函数:
var requestOptions = new RequestOptions()
.Apply(RequestOptions.SkipMemoryCacheOf(true))
.Apply(RequestOptions.DiskCacheStrategyOf(DiskCacheStrategy.None))
.Apply(RequestOptions.SignatureOf(new ObjectKey(DateTime.Now.Millisecond)));
Glide.With(this)
.Load(imgUri)
.Apply(requestOptions)
.Into(_imageView);
如果我跑
x <- function(x) {
x <- substr(x, 1, 1)
return(x)
}
我会得到
x(abc)
为了让我的功能能够运行一个列表,即[1] "a"
我可以使用&#39; lapply&#39;功能
a = list('aas', 'cvs', 'mmm')
但是如何将lapply()函数合并到我的函数中以便让我的函数直接运行一个列表?
即:
lapply(a, x)
答案 0 :(得分:3)
您可以使用以下技巧:
fun <- function(x) {
if (is.list(x)) {
return(lapply(x, fun))
}
x <- substr(x, 1, 1)
return(x)
}
如果您希望函数返回字符向量而不是列表,请将lapply
替换为sapply
。如果您希望它也接受矢量作为输入,请将条件is.list(x)
更改为length(x) > 1
。
答案 1 :(得分:1)
new_function <- function(x) {
lapply(x, substr, 1, 1)
}