Archived
1

Added some methods to „Working With the Expression Tree“ section

This commit is contained in:
Kim Wittenburg
2014-04-23 03:10:17 +02:00
parent 24c53bde2e
commit 3c944f3fc0
4 changed files with 57 additions and 5 deletions

View File

@@ -11,6 +11,7 @@
#import "MPException.h"
#import "NSObject+MPStringTest.h"
#import "NSIndexPath+MPRemoveFirstIndex.h"
NSString *MPAdditionOperator = @"+";
NSString *MPSubtractionOperator = @"-";
@@ -214,7 +215,29 @@ NSString *MPDivisionOperator = @"/";
return [[self alloc] initWithSymbols:symbols];
}
#pragma mark Working with Expressions
#pragma mark Working With the Expression Tree
- (NSUInteger)indexOfSymbol:(id)symbol
{
return [_symbols indexOfObject:symbol];
}
- (id)symbolAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.length == 0) {
return self;
}
id symbol = [self symbolAtIndex:[indexPath indexAtPosition:0]];
if (indexPath.length == 1) {
return symbol;
}
if ([symbol isKindOfClass:[MPFunction class]]) {
return [symbol symbolAtIndexPath:[indexPath indexPathByRemovingFirstIndex]];
}
return nil;
}
#pragma mark Working With Expressions
- (NSUInteger)length
{