gpt4 book ai didi

r - R中的操作重载

转载 作者:行者123 更新时间:2023-12-04 16:32:29 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Making a string concatenation operator in R

(5 个回答)


7年前关闭。




为字符重载“+”的最直接方法是什么?
我已经定义了 '%+%' <- function(...) paste(...,sep="") :

str <- "aa"%+%"bb"%+%"cc" #str="aabbcc"

但我不喜欢语法。我想 str <- "aa"+"bb"+"cc"会更好。

(我正在构建与 RODBC 一起使用的长 SQL 查询,通常的 paste 在这种情况下不是很方便。有什么建议吗?)

最佳答案

你可以尝试这样的事情:

R> oldplus <- `+`
R> `+` <- function(e1, e2) {
R> if (is.character(e1) && is.character(e2)) {
R> paste(e1,e2,sep="")
R> }
R> else {
R> oldplus(e1,e2)
R> }
R> }

这使 :
R> 2+3
[1] 5
R> "aa"+"bb"
[1] "aabb"

但是正如 Sacha 指出的那样,重载这样一个基本功能是非常危险的,我不能向你保证它不会破坏你的 R session 并使你的计算机爆炸:-)

关于r - R中的操作重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5322546/

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