Hi,

For a long time I have been programming Smalltalk.
Recently, Ruby "got me" and I was wondering how the
famous ifTrue:ifFalse: could be added to the System.

1 = 2
  ifTrue:
   [Transcript show: "true!" ]
  ifFalse:
   [Transcript show: "false!"]

So at least the following works but I was hoping that it would have the 
same elegance. "proc" was needed to create a real block instance.

------------------
def true.ifTrue_ifFalse(trueBlock , falseBlock)
	trueBlock.call
end

def false.ifTrue_ifFalse(trueBlock , falseBlock)
	falseBlock.call
end

(1==2).ifTrue_ifFalse(
   proc { p "true!"},
   proc { p "false!"}
)

(1!=2).ifTrue_ifFalse(
   proc { p "true!"},
   proc { p "false!"}
)

-- 
Posted via http://www.ruby-forum.com/.