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/.