Hi, I believe this has been discussed on trac already, although I can't seem to find the ticket.
In short, this is expected behavior. A method added to the String class will only be available to strings created from Ruby. If you want a method to be available to all strings, add it to the NSString class. I do agree that this can be confusing behavior and maybe we can try to reduce the confusion somehow. This design was implemented in 0.6 and is the result of several debates. I personally didn't expect people would notice this :) Laurent On Jul 13, 2010, at 10:59 AM, Michael Jackson wrote: > This sounds like a bug to me. Have you filed a ticket? > > http://trac.macosforge.org/projects/ruby/newticket > > -- > Michael Jackson > http://mjijackson.com > @mjijackson > > > > On Mon, Jul 12, 2010 at 6:02 PM, Henry Maddocks > <[email protected]> wrote: >> With respect to the following code >> >> 1 require 'test/unit' >> 2 >> 3 class String >> 4 def my_method >> 5 "My Method " + self >> 6 end >> 7 end >> 8 >> 9 class Test_Tumblr < Test::Unit::TestCase >> 10 >> 11 def test_strings >> 12 cocoa_string = NSString::stringWithString("blah") >> 13 ruby_string = "Ruby String" >> 14 >> 15 assert_equal String, cocoa_string.class >> 16 assert_equal String, ruby_string.class >> 17 assert_equal cocoa_string.class, ruby_string.class >> 18 >> 19 assert ruby_string.respond_to?(:my_method), >> "ruby_string.respond_to?" >> 20 assert cocoa_string.respond_to?(:my_method), >> "cocoa_string.respond_to?" >> 21 end >> 22 >> 23 end >> >> >> What is the expected result of line 20? >> >> On the one hand cocoa_string is an NSString so the monkey patch shouldn't >> have any effect, but on the other cocoa_string is claiming to be a ruby >> String. >> >> Henry >> _______________________________________________ >> MacRuby-devel mailing list >> [email protected] >> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >> > _______________________________________________ > MacRuby-devel mailing list > [email protected] > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel _______________________________________________ MacRuby-devel mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
