On Apr 24, 2010, at 1:17 PM, Filip van der Meeren wrote:

> 
> On 24 Apr 2010, at 18:38, Charles Srstka wrote:
> 
>> On Apr 24, 2010, at 5:50 AM, Filip van der Meeren wrote:
>> 
>>> I want to get the difference between 2 characterSets. For example:
>>> 
>>> I have the following 2 characterSets...
>>> NSCharacterSet *aSet = [NSCharacterSet 
>>> characterSetWithCharactersInString:@"a"];
>>> NSCharacterSet *lowerSet = [NSCharacterSet lowercaseLetterCharacterSet];
>>> 
>>> The difference between these (aSet - lowerSet = remainder):
>> 
>> IIRC, this line right here gets you an empty character set, which will also 
>> give you an empty set any time you make an intersection with anything:
>> 
>>> NSMutableCharacterSet *remainder = [[NSMutableCharacterSet alloc] init];
>> 
>> so this one will get the intersection between ('a') and the empty set, which 
>> will be the empty set:
>> 
>>> [remainder formIntersectionWithCharacterSet:aSet];
>> 
>> and ditto for this one. Note that even if remainder started out non-empty, 
>> it wouldn’t have more than (‘a') in it after the first intersection, and 
>> since 'a' is a member of lowerSet, being a lowercase letter, intersecting 
>> with [lowerSet invertedSet] is still going to get you an empty set:
>> 
>>> [remainder formIntersectionWithCharacterSet:[lowerSet invertedSet]];
>> 
>> What exactly are you trying to do?
>> 
>> Charles
> 
> What I was trying to do is the following:
> 
> C/C++ operator    |     NSCharacterSet operation
> -----------------------------------------------------------------------------
> |  (or)                      |     [aCharSet 
> formUnionWithCharacterSet:bCharSet];
> & (and)                   |     [aCharSet 
> formIntersectionWithCharacterSet:bCharSet];
> ^ (xor)                    |     ?

How about something like this?

NSCharacterSet *aSet = [NSCharacterSet 
characterSetWithCharactersInString:@"aA”];
NSCharacterSet *lowerSet = [NSCharacterSet lowercaseLetterCharacterSet];
    
NSMutableCharacterSet *intersect1 = [[aSet mutableCopy] autorelease];
NSMutableCharacterSet *intersect2 = [[lowerSet mutableCopy] autorelease];
    
[intersect1 formIntersectionWithCharacterSet:[lowerSet invertedSet]];
[intersect2 formIntersectionWithCharacterSet:[aSet invertedSet]];
    
[intersect1 formUnionWithCharacterSet:intersect2];
    
NSCharacterSet *rem = [[intersect1 copy] autorelease];

Charles_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to