On Mar 13, 2008, at 6:05 PM, Benjamin Stiglitz wrote:
Could we add a category on NSString that auto-converts it to an NSMutableString when necessary?
Well there is already [-mutableCopy] which when called on an NSString returns an NSMutableString. But you have to call it, the process is not done automatically for you.
Say that you receive a non-mutable string from Objective-C, and want to call the #upcase! method on it. AFAIK, MacRuby could 1) raise an exception 2) auto-convert the receiver as mutable (but a new object will likely have to be created).
There's no way to do this switch in the general case of incoming CFTypes. Can we easily fudge the locals table to point to a new object in YARV?
Yes we most probably can, but the real question is, should we? I personally have a preference for 1), which is more consistent with the underlying APIs. Mmh. Laurent