2009/5/3 Janico Greifenberg <[email protected]> > > Hi, > > I encountered unexpected behavior of the 'if' form in clojure when using > instances of java.lang.Boolean as the condition. I wanted to convert > input strings to booleans and used the constructor of the Boolean class > with the string parameter. However, when I pass these values as a > condition to if, the true-branch always gets executed. For example: > > > (if (Boolean. "true") 1 2) > 1 > > (if (Boolean. "false") 1 2) > 1 > > It seems to me that this has to do with the identity of the objects, as > (Boolean. "false") is not identical (although equal) to the clojure > literal false. Is this behavior intentional or a bug? > > The problem does not occur when I use Boolean/parseBoolean which returns > a lower case boolean. > > So long > Janico >
Hi, sounds like a bug, indeed, Regards, -- Laurent --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---
