Hi everyone,
yesterday i migrated my little MacRuby project to 0.6 and i found a kind of
strange behavior in a comparison between a string and nil. In MacRuby 0.5 the
line worked as expected.
I get the following error message in a comparison between a string on the left
and nil on the right:
can't convert nil into String (TypeError)
I made a little demo project to show the problem.
The string i want to compare comes out of a userInfo dictionary i get when
iTunes send a notification through the NSDistributredNotificationCenter.
In the demo project the error occurs, if you play, pause, or skip a song in
iTunes (every time i get a notification from iTunes).
So here the code in which the error occurs:
def songChanged(notification)
NSLog("notification.userInfo[Name]
#{notification.userInfo['Name']}.")
NSLog("notification.userInfo[Name].nil?
#{notification.userInfo['Name'].nil?}.")
NSLog("notification.userInfo[Name].class
#{notification.userInfo['Name'].class}.")
NSLog("notification.userInfo[Name] != nil
#{notification.userInfo['Name'] != nil}")
end
The method receives a notification from iTunes and the last line in the method
fails ( notification.userInfo['Name'] != nil ).
I don't know where the problem is, but i guess the comparison should just
return false. One again, in MacRuby 0.5 the line worked as expected.
You can find the hole demo project at:
http://github.com/michelSt/MacRubyBug
Thanks,
Michel
--
Michel Steuwer | [email protected]
_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel