この現象を解き明かしたい。
文字列は足せない。
"a" + "a" #> Error in "a" + "a": non-numeric argument to binary operator
character
用のメソッドを作ってもディスパッチしてくれない。
`+.character` <- paste0 "a" + "a" #> Error in "a" + "a": non-numeric argument to binary operator
のに、なぜかcharacter
以外のクラスのメソッドにするといける。
x <- structure("a", class = c("foo", "character")) `+.foo` <- paste0 x + x #> [1] "aa"
あと、これでもいけた。implicit classじゃだめってことか?
`+.character` <- paste0 x <- structure("a", class = "character") x + x #> [1] "aa"続きを読む