裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

文字列としての連結と"&"演算子

2018年06月10日 | ブログラミング

文字列と文字列の連結は,言語によって異なる記号が演算子として使われているが,R では二項演算子ではなく paste 関数,paste0 関数が使われる。

> paste("asd", "poi", sep="")
[1] "asdpoi"

> paste0("asd", "poi")
[1] "asdpoi"

> paste0(123, "asd")
[1] "123asd"

> paste0(123, TRUE)
[1] "123TRUE"

> paste0(123, T)
[1] "123TRUE"

> paste0(TRUE, FALSE)
[1] "TRUEFALSE"

TRUE と FALSE を連結するなんてことは普通は考えないこと。

& 記号を文字列としての連結演算子と定義する。ただし,2 項ともに論理型の場合には本来の & 演算子として使うというような関数を書いてみる。

"&" を "|" に変えても同じように動く。お好きな方を。

"&" = function(e1, e2) {
  if (is.logical(e1) && is.logical(e2)) {
    base::"&"(e1, e2)
  } else {
    paste0(e1, e2)
  }
}

> "abc" & "12345" & "あいうえお"
[1] "abc12345あいうえお"

> 123456 & "numeric"
[1] "123456numeric"

> 456 & 100
[1] "456100"

> 456 & 0
[1] "4560"

> TRUE & FALSE
[1] FALSE

> "123" & TRUE & "asd"
[1] "123TRUEasd"

> (1 == 1) & (2 != 3)
[1] TRUE

 

コメント    この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 大きい数の積や商(その2) | トップ | 文字列としての連結と"+"演算子 »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事