Bladeren bron

Add minus sign rectification in output

master
Said Achmiz 9 jaren geleden
bovenliggende
commit
d58f0748bd
3 gewijzigde bestanden met toevoegingen van 29 en 6 verwijderingen
  1. 3
    3
      SA_DB_StringFormatRules.plist
  2. 1
    1
      SA_DiceExpressionStringConstants.h
  3. 25
    2
      SA_DiceFormatter.m

+ 3
- 3
SA_DB_StringFormatRules.plist Bestand weergeven

@@ -9,7 +9,7 @@
<key>SA_DB_VALID_OPERATOR_CHARACTERS</key>
<dict>
<key>SA_DB_OPERATOR_MINUS</key>
<string>-–−</string>
<string>-–−﹣-</string>
<key>SA_DB_OPERATOR_PLUS</key>
<string>+</string>
<key>SA_DB_OPERATOR_TIMES</key>
@@ -23,11 +23,11 @@
<key>SA_DB_CANONICAL_OPERATOR_REPRESENTATIONS</key>
<dict>
<key>SA_DB_OPERATOR_MINUS</key>
<string>-</string>
<string></string>
<key>SA_DB_OPERATOR_PLUS</key>
<string>+</string>
<key>SA_DB_OPERATOR_TIMES</key>
<string>*</string>
<string>×</string>
</dict>
<key>SA_DB_CANONICAL_ROLL_COMMAND_DELIMITER_REPRESENTATION</key>
<string>d</string>

+ 1
- 1
SA_DiceExpressionStringConstants.h Bestand weergeven

@@ -160,4 +160,4 @@ extern NSString * const SA_DB_CANONICAL_OPERATOR_REPRESENTATIONS;

// The value for the key SA_DB_CANONICAL_ROLL_COMMAND_DELIMITER_REPRESENTATION
// is the canonical representation of the die roll command delimiter.
extern NSString * const SA_DB_CANONICAL_ROLL_COMMAND_DELIMITER_REPRESENTATION;
extern NSString * const SA_DB_CANONICAL_ROLL_COMMAND_DELIMITER_REPRESENTATION;

+ 25
- 2
SA_DiceFormatter.m Bestand weergeven

@@ -197,7 +197,9 @@ static NSDictionary *_stringFormatRules;
}
}
return formattedString;
// Make all instances of the minus sign be represented with the proper,
// canonical minus sign.
return [self rectifyMinusSignInString:formattedString];
}

- (NSString *)legacyStringFromIntermediaryExpression:(NSDictionary *)expression
@@ -377,13 +379,34 @@ static NSDictionary *_stringFormatRules;
[formattedString appendFormat:@"ERROR"];
}
return formattedString;
// Make all instances of the minus sign be represented with the proper,
// canonical minus sign.
return [self rectifyMinusSignInString:formattedString];
}

/****************************/
#pragma mark - Helper methods
/****************************/

- (NSString *)rectifyMinusSignInString:(NSString *)aString
{
__block NSMutableString* sameStringButMutable = aString.mutableCopy;
NSLog(@"%@", sameStringButMutable);
NSString *validMinusSignCharacters = [SA_DiceFormatter stringFormatRules][SA_DB_VALID_CHARACTERS][SA_DB_VALID_OPERATOR_CHARACTERS][SA_DB_OPERATOR_MINUS];
NSString *theRealMinusSign = [SA_DiceFormatter canonicalRepresentationForOperator:SA_DB_OPERATOR_MINUS];
[validMinusSignCharacters enumerateSubstringsInRange:NSMakeRange(0, validMinusSignCharacters.length)
options:NSStringEnumerationByComposedCharacterSequences
usingBlock:^(NSString *character, NSRange characterRange, NSRange enclosingRange, BOOL *stop)
{
[sameStringButMutable replaceOccurrencesOfString:character withString:theRealMinusSign options:NSLiteralSearch range:NSMakeRange(0, sameStringButMutable.length)];
}];
NSLog(@"%@", sameStringButMutable);
return sameStringButMutable.copy;
}

+ (void)loadErrorDescriptions
{
NSString* errorDescriptionsPath = [[NSBundle bundleForClass:[self class]] pathForResource:@"SA_DB_ErrorDescriptions" ofType:@"plist"];

Laden…
Annuleren
Opslaan