Rでオペレーター%%を定義する方法
概要
Rでは、関数を定義する際に、二項演算子として定義することができる。Rで基本的に定義された割り算の余り%%
、商%/%
、内積%*%
、%o%
や包含関係%in%
、そしてパイプ演算子%>%
も、このような二項演算子に属する。
コード
たとえば、Pythonのような言語では、文字列同士を加算すると文字列が連結されるので、非常に便利だが、Rでは比較的不便である。この問題を解決する方法として、二項演算子を考えることができる。
データを扱う際や文字列を扱うことが多くなるが、その度に関数的に文字列を連結するのはかなり不便だ。従って、上のように一時的にでも使える演算子を作ると便利だ。
"%++%" <- function(x,y) {paste(x,y)}
example <- "Oh" %++% "My" %++% "Girl"
print(example)