LoginSignup
5
3

More than 1 year has passed since last update.

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

Last updated at Posted at 2020-10-15

ループ処理(書き方例)

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文の実行結果は以下です。

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

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

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

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

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

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

image.png
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

実行結果
image.png

もくじ

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]線形代数演算(ベクトル・行列計算)
(※引き続きコンテンツを増やしていきます)

関連情報

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

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

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

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

ご意見など

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

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3