制御構造 - 第三形式 — プログラミング言語 Ring 1.14 取扱説明書

Skip to content

# 制御構造 - 第三形式

第三形式による制御構造の用法です。

## 分岐処理

- If ステートメント

文法:

    if 式 {
            ステートメント・ブロック
    elseif 式
            ステートメント・ブロック
    else
            ステートメント・ブロック
    }

用例:

    Load "stdlib.ring"

    print("
            Main Menu
            ---------
            (1) Say Hello
            (2) About
            (3) Exit
        ")

    nOption = getnumber()

    if nOption = 1  {
            print("Enter your name : ")
            name = getstring()
            print("Hello #{name}\n")
    elseif nOption = 2
            print("Sample : using if statement\n")
    elseif nOption = 3
            bye
    else
            print("bad option...\n")
    }

- Switch ステートメント

文法:

    switch 式 {
    case 式
            ステートメント・ブロック
    else
            ステートメント・ブロック
    }

用例:

    Load "stdlib.ring"

    print("
            Main Menu
            ---------
            (1) Say Hello
            (2) About
            (3) Exit

          ")

    nOption = GetString()

    switch nOption {
    case 1
            print("Enter your name : ")
            name = getstring()
            print("Hello #{name}\n")
    case 2
            print("Sample : using switch statement\n")
    case 3
            Bye
    else
            print("bad option...\n")
    }

## ループ処理

- While ループ

文法:

    while 式 {
            ステートメント・ブロック
    }

用例:

    Load "stdlib.ring"

    While True {

            print("
                    Main Menu
                    ---------
                    (1) Say Hello
                    (2) About
                    (3) Exit

                      ")

            nOption = GetString()

            switch nOption {
            case 1
                    print("Enter your name : ")
                    name = getstring()
                    print("Hello #{name}\n")
            case 2
                    print("Sample : using switch statement\n")
            case 3
                    Bye
            else
                    print("bad option...\n")
            }

    }

- For ループ

文法:

    for 識別子=式 to 式 [step 式] {
            ステートメント・ブロック
    }

用例:

    # 1 ～ 10 までの数値を表示します。
    load "stdlib.ring"
    for x = 1 to 10  {
            print("#{x}\n")
    }

用例:

    load "stdlib.ring"

    # 動的ループ
    print("Start : ") nStart = getnumber()
    print("End   : ") nEnd = getnumber()
    print("Step  : ") nStep = getnumber()
    for x = nStart to nEnd step nStep {
            print("#{x}\n")
    }

用例:

    load "stdlib.ring"

    # 0 ～ 10 までの偶数値を表示します。
    for x = 0 to 10 step 2 {
            print("#{x}\n")
    }

用例:

    load "stdlib.ring"

    # 10 ～ 0 までの偶数値を表示します。
    for x = 10 to 0 step -2 {
            print("#{x}\n")
    }

- For in ループ

文法:

    for 識別子 in リストまたは文字列  [step 式] {
            ステートメント・ブロック
    }

用例:

    load "stdlib.ring"

    aList = 1:10    # 1 ～ 10 までの数値を有するリストを作成します。
    for x in aList { print("#{x}\n") }      # 1 ～ 10 までの数値を表示します。

用例:

    load "stdlib.ring"

    aList = 1:10    # 1 ～ 10 までの数値を有するリストを作成します。
    # print リスト内にある奇数の項目を表示します。
    for x in aList step 2 {
            print("#{x}\n")
    }

(For in) は項目を参照で取得します。

つまり、ループの内側で項目の読み取りと編集ができます。

用例:

    load "stdlib.ring"

    aList = 1:5             # 1 ～ 5 までの数値を有するリストを作成します。
    # リストの数値を文字列へ置換します。
    for x in aList {
            switch x {
            case 1  x = "one"
            case 2  x = "two"
            case 3  x = "three"
            case 4  x = "four"
            case 5  x = "five"
            }
    }
    print(aList)    # リストの項目を表示します。

## 例外処理

    try {
            ステートメント・ブロック
    catch
            ステートメント・ブロック
    }