Julia早引きノート[06]ループ処理


ループ処理(書き方例)

note06

whileend
    i = 0               # iの初期化
    while i <= 10
        println(i)
        global i += 1   # グローバル変数化
    end

forend(=イコール使用の場合)
    for i = 1:10
        println(i)
    end

forend(in使用の場合)
    list = [1, 5, 10]
    for i in list
        println(i)
    end

forenumerate(インデックス、値を取得)
    list = ["a","b","c","d"]
    for (index, value) in enumerate(list)
        println(index, ":", value)
    end

break(ループを中断し、ループ処理全体を終了)
  break

continue(ループ処理において、現在周回の処理を中断、後続の処理もスキップし、次の周回に進む)
  continue

解説

・Juliaでは、ループ処理としてwhilte~end文とfor~end文が使用できます。whilte、forともendまでの間の部分で繰返し処理が実行されます。
・Pythonと大きく異なる点は、endがあることです。
・while、forなどのブロック内で使用される変数はローカル変数のため、ブロック外で使用できません。
・enumerateによるループはpythonと同じように使用できます。
・ループ処理を中断し、ループ処理を抜ける場合はbreakを使用します。
・ループ処理中、現在周回の処理を中断(後続の処理もスキップ)し、次の周回に進みます。

(1)while~end文の実行結果は以下です。


4行目で変数iにglobalを付加しています。

変数iをループ処理内部(whileとendの間)だけでなく外部でも使用する場合、このようにglobalを付加します。また、globalを付加しないとループ処理内部で値の変更はできません。

反対に、変数iを変更しない場合は、globalの付加は不要です。
ループ処理内部では読み取りのみ可能です。

(2)for~end文(=イコール使用の場合)の実行結果は以下です。


変数iは1から10まで繰返し実行されます。
Juliaではスライス1:10のうち、最後尾10まで実行されますのでご注意下さい。
(Pythonは1~9までしか実行されません)

(3)for~end文(in使用の場合)の実行結果は以下です。


2行目のlist部分にリスト型変数を設定することで、in演算子でもループすることができます。

(4)for~enumerate()文の使い方

pythonのenumerateと同じように使用できます。
リストの中身をインデックス番号と値の両方で取得できます。
※インデックス番号は1から始まります。

note06
list = ["a","b","c","d"]
for (index, value) in enumerate(list)
    println(index, ":", value)
end

実行結果

もくじ

Julia早引きノート[01]変数・定数の使い方
Julia早引きノート[02]算術式、演算子
Julia早引きノート[03]複素数
Julia早引きノート[04]正規表現
....

もくじを開く

Julia早引きノート[05]if文
Julia早引きノート[06]ループ処理
Julia早引きノート[07]try, catch, finally
Julia早引きノート[08]変数の型(Int, Float, Bool, Char, String)
Julia早引きノート[09]関数 (1)基本編
Julia早引きノート[10]関数 (2)応用編
Julia早引きノート[11]Nothing型
Julia早引きノート[12]複合型(Composite Type)型
Julia早引きノート[13]タプル
Julia早引きノート[14]リスト(Array型一次元配列)
Julia早引きノート[15]辞書(dictionary)
Julia早引きノート[16]集合
Julia早引きノート[17]多次元配列 (1)初期化
Julia早引きノート[18]多次元配列 (2)様々な演算や関数
Julia早引きノート[19]多次元配列 (3)サブ配列
Julia早引きノート[20]ファイル入出力
Julia早引きノート[21]JSON、XMLファイルの入出力
Julia早引きノート[22]Python関数やPythonモジュールの呼び出し
Julia早引きノート[23]JuliaでのMatplotlibによるグラフ描画
Julia早引きノート[24]CSVFiles(DataFrameとの連携)
Julia早引きノート[25]線形代数演算(ベクトル・行列計算)
(※引き続きコンテンツを増やしていきます)

関連情報

Julia - 公式ページ
https://julialang.org/

Julia - 日本語公式ドキュメント
https://julia-doc-ja.readthedocs.io/ja/latest/index.html

初めてのJuliaとインストール (Windows & Linux)
https://qiita.com/ttlabo/items/b05bb43d06239f968035

Julia - Mathematics
https://docs.julialang.org/en/v1/base/math/

ご意見など

ご意見、間違い訂正などございましたらお寄せ下さい。