In fact, there's already a track ticket for that (and I think that's the 
discussion Laurent was looking for):

http://www.macruby.org/trac/ticket/726

:-)

-- 
Thibault Martin-Lagardette



On Jul 13, 2010, at 13:02, Laurent Sansonetti wrote:

> 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

_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to