IT用語集 › プログラミング › 連結

連結

プログラミング Svenska → 更新: 2026-10-21

2つの並び、たいていは文字列を、端と端でつないで1つにすること。

どの言語にもあるが、ほぼ言語ごとに違う記号が選ばれた。Java、JavaScript、Pythonは+、PHPとPerlは.、Visual Basicは&、Luaは..、Elixirは<>。たった1つの操作に5種類の記号が並んだことは、言語設計が先行例の上に築かれることがいかに少ないかを端的に示している。

罠は性能にある。現代の言語の多くで文字列は不変なので、ループ内でs = s + xとすると、反復のたびに新しい文字列を確保し、それまでの内容をすべてコピーする。つまり二次時間になる。解決策は可変長のバッファで、JavaやC#ではStringBuilder、Goではstrings.Builder、Pythonならリストに溜めて最後にjoinすればよい。文字列と数値を混ぜるとさらにややこしい。1 + "1"はJavaScriptでは"11"になり、Pythonでは型エラーになる。弱い型付けと強い型付けの論争が、この一行に凝縮されている。

← 用語集に戻る