制御構造 - 第三形式

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

分岐処理

  • 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
        ステートメント・ブロック
}