logo

ジュリアで文字列を結合する方法 📂ジュリア

ジュリアで文字列を結合する方法

コード

文字列の連結 *

julia> "oh" * "my" * "girl"
"ohmygirl"

Pythonの+に相当する。

複数の文字列を連結する string()

julia> string("oh","my", "girl")
"ohmygirl"

Rpaste0()に相当する。

文字列のリストのアイテムとして連結する join()

julia> OMG = ["oh","my", "girl"]
3-element Vector{String}:
 "oh"
 "my"
 "girl"

julia> join(OMG)
"ohmygirl"

Pythonのjoin()に相当する。

同じ文字列を繰り返す ^

julia> "=-" ^ 10
"=-=-=-=-=-=-=-=-=-=-"

Pythonの*に相当する。繰り返しをべき乗で表現することは、偶然ではなく、Pythonで文字列を連結する二項演算が+(和)で、これを繰り返すことが*(積)であるように、Juliaでは連結する演算が*(積)で、これを繰り返すことが^(べき乗)になるのだ。

なぜ?

なぜ、他の言語と同じように直感的に理解しやすい+ではなく*を使うのか?それは代数的、数学的観点から、文字列の結合は加法よりも乗法に近く、自然だからだ1代数学の自由群というのを理解できれば最高だけど、そういう背景知識がなくても、数学でxyの積をx * y = xyのように表すのは納得できるだろう。 $$ x \ast y = xy $$ 今、"xy"という文字列に"litol"という文字列を付け足して、"xylitol"キシリトールを作ると考えてみよう。 $$ xy \ast litol = xylitol $$ 納得できるだろう。今更"xy" + "litol"を考えると、何か変に感じるかもしれない。Juliaを作った人たちは、そういう数学的直感に真剣そのものだ。

環境

  • OS: Windows
  • julia: v1.6.2