gpt4 book ai didi

r - 在 R 中重载 & 运算符

转载 作者:行者123 更新时间:2023-12-02 06:35:13 26 4
gpt4 key购买 nike

我喜欢用粘贴重载我的符号运算符。这样我就可以轻松粘贴东西。像这样:

R> "Hello" & " World"
[1] "Hello World"

我的实现方式是:

"&" <- function(...){paste(..., sep = "")}

这一切都很好而且花花公子,但您失去了将 & 符号用作自然“和”运算符的能力。什么是最好、最快、最漂亮的方法来重载我的 & 符号,以便它识别输入何时是合乎逻辑的?

TRUE & FALSE == FALSE

等等

最佳答案

您需要在 R 中使用 S3 对象系统:

`&` <- function(e1, e2) UseMethod("&", c(e1, e2))
`&.default` <- function(e1, e2) paste(e1, e2)
`&.logical` <- function(e1, e2) .Primitive("&")(e1, e2)

现在您可以按预期使用 & 了:

> 1 & 2
[1] "1 2"
> TRUE & FALSE
[1] FALSE
> "Hello" & "World"
[1] "Hello World"
>

关于r - 在 R 中重载 & 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21197443/

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