うさぎです。
Eiji-usagi-MATSUmoto <ematsu / pfu.co.jp> said:
> そのひとつめなんですが、parseArgsに関する質問です。
なんか反応がないので(; ;)、次の質問にいきます。
case文の途中で、caseのブロックから抜けでたい時ってどうしたら
いいんでしょうか?
たとえば、
def hoge(a, b)
case b
when 0
printf("b = 0\n")
if a == 1
printf("and a = 1\n")
break # <== ここで抜けたい!
else
printf("but a != 1\n")
end
print("hogehoge\n")
end
end
とやると、hoge(0,0)はいいんですが、hoge(1,0)を実行すると、
b = 0
and a = 1
test.rb:7:in `hoge': LocalJumpError| unexpected break
from test.rb:16
となって、こんなところでbreakしちゃだめとといわれます。
どうしても抜けたい時は、どうしたらいいんでしょうか?
* * *
それとちょっと関係するのですが、ユーザガイドのnext, redo, break
の説明で、
label_next:
while (condithion) {
label_redo:
goto label_next /* next */
goto label_break /* break */
goto label_redo /* redo */
}
label_break:
というのがあるんですが、これってredoとnextが逆のような気が
するんですけど、何か私勘違いしてますでしょうか?
では。
--
Eiji MATSUmoto <ematsu / pfu.co.jp>
PFU Limited, Ishikawa Japan. < Call me 'USAGI' please. (^^) >