前田です。

In message "[ruby-list:4053] How to 'break' inside case"
Eiji-usagi-MATSUmoto <ematsu / pfu.co.jp> wrote:

|> そのひとつめなんですが、parseArgsに関する質問です。
|
|なんか反応がないので(; ;)、次の質問にいきます。

意味がよくわからなかったのですが、$OPT_xxxに値が入らない
ということですか?
-や--が付かないものはARGVを自分で参照するものなのではない
でしょうか?
# はずしてたらごめんなさい。

|case文の途中で、caseのブロックから抜けでたい時ってどうしたら
|いいんでしょうか?

throw & catchを使えばよいと思います。

def hoge(a, b)
  catch(:out) do
    case b
    when 0
      printf("b = 0\n")
      if a == 1
	printf("and a = 1\n")
	throw :out
      else
	printf("but a != 1\n")
      end
      print("hogehoge\n")
    end
  end
end
hoge(0, 0)
hoge(1, 0)

-- 
前田 修吾