gpt4 book ai didi

r - 赋值运算符的重载与长度函数的组合如何工作?

转载 作者:行者123 更新时间:2023-12-01 08:13:13 25 4
gpt4 key购买 nike

length() 的变异实现是如何工作的?

示例:给定一个向量 v,如何将长度设置为 12?

length(v) <- 12

我能否创建自己的函数以相同的方式重载运算符?

示例:将所有其他元素设置为 7

everyOther(v) <- 7

最佳答案

那些赋值函数就是函数。它们可以写成以下形式(注意反引号 - 必须使用它们),其中 fname区分函数名。

`fname<-` <- function(x, value) { ... }

所以你的 everyOther赋值函数可以写成

`everyOther<-` <- function(x, value) {
x[c(FALSE, TRUE)] <- value
x
}

我们可以像使用它一样使用它 length(x) <- value

v <- 1:20
everyOther(v) <- 7
v
# [1] 1 7 3 7 5 7 7 7 9 7 11 7 13 7 15 7 17 7 19 7

关于r - 赋值运算符的重载与长度函数的组合如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53471699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com