From: Ernest Micklei Date: 2006-04-11T22:13:22+09:00 Subject: Smalltalk's favorite Boolean method 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/.