効率のよい文字列の連結方法

ある文字列strに他のある文字列'abc'を連結する方法に、次の3つがある。

# 1.+ を使う方法
str += 'abc' 
# 2.<< を使う方法
str << 'abc'  # str.concat('abc') でも同じ
# 3.配列に push してから join する方法
ary.push('abc'); str = ary.join()

この3つの中で一番処理時間が短いのが2番目の <<。
str.concat('abc')と書いても同じだが、
タイプ数が少なくて済むし、
str << 'abc'は、strの末尾に'abc'を追加すると、
わりと直感的に読めるので、これが一番いいように思う。


ある文字列strに文字列'abc'と'def'を連結する方法に、次の4つがある。

# 1.+ を使う方法
'abc' + str + 'def'
# 2.<< を使う方法
str2 << 'abc'; str2 << str; str2 << 'def'
# 3.配列を join する方法
['abc', str, 'def'].join
# 4.変数展開 を使う方法
"abc#{str}def"

この4つの中で一番処理時間が短いのは4つ目の変数展開を使った方法。
ここでもまた、一番タイプ数が少なくて済む方法が一番処理時間が短い。


まとめるとこうなる。

  • 単純に文字列を連結するときは << を使うのがよい。
  • 変数を含めて文字列を連結するときは 変数展開 を使うのがよい。