読者です 読者をやめる 読者になる 読者になる

yucken の業務上電脳 Tips 日記、なのだよ。-弐式-

いまさら電脳 Tips を書いてみむとして、するなり.元々は広い意味での電脳(コンピュータ)の Tips を書いていたのですが,いつのまにか,解析ツールの「電脳 ruby」の Tips がメインに.‥‥‥で,5 年間放置してたのだけどやはり Tips を書くブログがないと不便なのでふっかちさせたのであります.(・)>

Ruby: case 文など制御構文 (とりあえず、case のみ. IDL の case も)

ruby IDL

case は特によくすぐ忘れるのでメモ。

case x
when v1 [then]
  (x が v1 と一致する場合に行う処理)
when v2, v3 [then]
  (x が v2 または v3 と一致する場合に行う処理)
when v4 [then]
  (x が v4 と一致する場合に行う処理)
else
  (x が v1, v2, v3, v4 のいづれでもない場合の処理)
end

then は省略可能。

ちなみに IDL (もよく忘れるんですけど) だとこんな感じ:

case x of 
; 複数行処理の場合
  v1: begin
    (x が v1 と一致する場合に行う処理 1)
    (x が v1 と一致する場合に行う処理 2)
  end
; 単一行処理の場合
  v2: (x が v1 と一致する場合に行う処理)
  else: (x が v1, v2 のいづれでもない場合の処理)
end

IDL の単一行処理の場合は見やすいんですけど、複数の値のいづれかに一致する場合はどうするんだろう。IDL の場合、x の部分は "1" (true) にできるので、x を 1 に入れ替えて、v1: を (x EQ v3) OR (x EQ v4) に入れ替えるって感じでしょうか?

参考にしたサイト:

www.rubylife.jp

(#検索用: case文)

当初公開日は 2016 年 7 月 4 日でしたが、記事の日付を均等にするために、7 月 3 日に変更しました