原です。 |あ伊藤です.本質と関係ありませんが... |こんなのはいかが? :-) | |class IF_exec | def initialize(z) | @else = z | end | def ELSE | if @else then | yield | end | end |end | |def IF (cond) | if cond then | yield | return IF_exec.new(false) | else | return IF_exec.new(true) | end |end なるほどこれならまるで if then else に見えますね! #そういえば前に case の変種を同じようにして作った様な覚えが、、、 返歌。こういうのはどうでしょう。(^^ class Object def IF cond; if cond then yield else Object end; end def ELSE; self; end def Object.ELSE; yield; end end while gets x = $_.to_i IF(x%2 == 0) { print "even number\n" }.ELSE { print "odd number\n" } end ところで、 IF(x%2 == 0) { を IF (x%2 == 0) { と書くと parse error になるのだなあ。