この記事は Hello World あたたたた Advent Calendar 2025 の記事です。
今日は Julia で Hello World あたたたた を実装して解説していきます。
そもそも「Hello World あたたたた」が何かは 1日目の記事 をご覧ください。
コーディング例
CodeRunBox で実際に動かしてみることができます。
using Random
function main()
hako = ""
running = true
while running
x = rand(0:1)
if x == 0
ch = "あ"
else
ch = "た"
end
print(ch)
hako *= ch
if endswith(hako, "あたたたた")
println()
println("お前はもう死んでいる")
running = false
end
end
end
main()
コードと文法の解説
変数の宣言・代入
Julia は 動的型付け言語で、基本的に型宣言は不要です。
hako = ""
running = true
-
StringやBool型は右辺から自動的に推論される
繰り返し
繰り返し処理には while を使います。
while running
...
end
条件が true の間、ブロック内の処理を繰り返します。
条件判定
条件分岐は if / else / end です。
if x == 0
ch = "あ"
else
ch = "た"
end
Julia では条件式は必ず Bool 型になります。
文字の出力
標準出力には print / println を使います。
print(ch)
-
printは改行なし -
printlnは改行あり
文字列の連結
Julia では文字列の連結に * や *= を使います。
hako *= ch
これは次と同じ意味です。
hako = hako * ch
文字列の末尾判定
文字列が特定の文字列で終わっているかは endswith で判定できます。
endswith(hako, "あたたたた")
- インデックス計算が不要
- 日本語文字列も扱える
乱数生成
乱数生成には Random 標準ライブラリを使います。
using Random
x = rand(0:1)
-
0:1の範囲からランダムに 1 つ選ぶ
function main と main() について
function main()
...
end
main()
この行は、定義した main 関数を実行しているだけです。
Julia には C や Java のような「特別な main 関数」はなく、
自分で呼び出した関数がプログラムの入口になります。
Julia の概要と歴史
Julia の特徴
- 数値計算・科学技術計算に強い
- 実行速度が速い
- 行列演算や並列処理が得意
- C言語、Pythonなどを組み込むこともできる
Julia の歴史
- 開発者:Jeff Bezanson ほか
- 誕生:2012年
個人的なコメント
名前は聞いたことがある。科学計算分野で使われるイメージ。
実行速度がCやPythonに比べると速いらしい。
PythonからJuliaを呼び出すことができるライブラリがあるので、計算量が多い部分だけをJuliaに計算させることでより高速に計算する使い方もできる。