Objective-C, 346 octets
-(void)printTernaryOfInt:(int)ternary{NSMutableString *outString=@"".mutableCopy; for (int i=1;i<=ternary;i++) {[outString appendString:[NSString stringWithFormat:@" ? %i",i]];}[outString deleteCharactersInRange:NSMakeRange(0, 2)];for (int i=1;i<ternary;i++) {[outString appendString:[NSString stringWithFormat:@" : 0"]];}NSLog(@"%@",outString);}
Mettre 0pour le intou quelque chose de négatif soulève une NSRangeExceptionraison de outStringcontenir nil. Cela devrait fonctionner sur iOS 2.0 et versions ultérieures et sur la plupart des dernières versions de Mac OS X.
Une ventilation du code:
-(void)printTernaryOfInt:(int)ternary{ ... }
Déclaration de fonction standard dans Objective-C.
NSMutableString *outString=@"".mutableCopy;
Crée une chaîne de destination pour la sortie outString, et la rend mutable. (En d'autres termes, il peut être lu et écrit.
for (int i=1;i<=ternary;i++) {[outString appendString:[NSString stringWithFormat:@" ? %i",i]];}
Ajoute la première partie de la chaîne à la sortie.
[outString deleteCharactersInRange:NSMakeRange(0, 2)];
Nettoie le début de la chaîne pour s'assurer qu'elle ? 1est remplacée par 1. Remarque: si elle a 0été donnée, c'est là que NSRangeExceptionse produirait, car il n'y a pas d'index 1.
for (int i=1;i<ternary;i++) {[outString appendString:[NSString stringWithFormat:@" : 0"]];}
Ajoute la deuxième partie de la chaîne à la chaîne.
NSLog(@"%@",outString);}
Crache la chaîne en arrière en utilisant NSLoget ferme la fonction.
Production:
La saisie 0donne ce journal de plantage:
2015-07-11 05:15:28.036 Example App[41665:2134488] *** Terminating app due to uncaught exception 'NSRangeException', reason: '-[__NSCFString deleteCharactersInRange:]: Range or index out of bounds'
*** First throw call stack:
(
0 CoreFoundation 0x009b5746 __exceptionPreprocess + 182
1 libobjc.A.dylib 0x0063ea97 objc_exception_throw + 44
2 CoreFoundation 0x009b566d +[NSException raise:format:] + 141
3 CoreFoundation 0x00981813 mutateError + 259
4 CoreFoundation 0x009818c1 -[__NSCFString deleteCharactersInRange:] + 65
5 Example App 0x000e3785 -[ViewController printTernaryOfInt:] + 277
6 Example App 0x000e3645 -[ViewController placeOrder:] + 133
7 libobjc.A.dylib 0x006547cd -[NSObject performSelector:withObject:withObject:] + 84
8 UIKit 0x00d75a40 -[UIApplication sendAction:to:from:forEvent:] + 99
9 UIKit 0x00d759d2 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 64
10 UIKit 0x00eb613a -[UIControl sendAction:to:forEvent:] + 69
11 UIKit 0x00eb6557 -[UIControl _sendActionsForEvents:withEvent:] + 598
12 UIKit 0x00eb57c1 -[UIControl touchesEnded:withEvent:] + 660
13 UIKit 0x00dcdcaa -[UIWindow _sendTouchesForEvent:] + 874
14 UIKit 0x00dce786 -[UIWindow sendEvent:] + 792
15 UIKit 0x00d8c681 -[UIApplication sendEvent:] + 242
16 UIKit 0x00d9cab8 _UIApplicationHandleEventFromQueueEvent + 21484
17 UIKit 0x00d702e7 _UIApplicationHandleEventQueue + 2300
18 CoreFoundation 0x008d706f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
19 CoreFoundation 0x008ccb7d __CFRunLoopDoSources0 + 253
20 CoreFoundation 0x008cc0d8 __CFRunLoopRun + 952
21 CoreFoundation 0x008cba5b CFRunLoopRunSpecific + 443
22 CoreFoundation 0x008cb88b CFRunLoopRunInMode + 123
23 GraphicsServices 0x029e42c9 GSEventRunModal + 192
24 GraphicsServices 0x029e4106 GSEventRun + 104
25 UIKit 0x00d740b6 UIApplicationMain + 1526
26 Example App 0x000e3cfa main + 138
27 libdyld.dylib 0x02d76ac9 start + 1
28 ??? 0x00000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
1 donne ceci:
2015-07-11 05:06:02.360 Example App[41665:2134488] 1
2 donne ceci:
2015-07-11 05:06:07.613 Example App[41665:2134488] 1 ? 2 : 0
7 donne ceci:
2015-07-11 05:06:12.147 Example App[41665:2134488] 1 ? 2 ? 3 ? 4 ? 5 ? 6 ? 7 : 0 : 0 : 0 : 0 : 0 : 0
200 donne ceci:
2015-07-11 05:06:35.552 Example App[41665:2134488] 1 ? 2 ? 3 ? 4 ? 5 ? 6 ? 7 ? 8 ? 9 ? 10 ? 11 ? 12 ? 13 ? 14 ? 15 ? 16 ? 17 ? 18 ? 19 ? 20 ? 21 ? 22 ? 23 ? 24 ? 25 ? 26 ? 27 ? 28 ? 29 ? 30 ? 31 ? 32 ? 33 ? 34 ? 35 ? 36 ? 37 ? 38 ? 39 ? 40 ? 41 ? 42 ? 43 ? 44 ? 45 ? 46 ? 47 ? 48 ? 49 ? 50 ? 51 ? 52 ? 53 ? 54 ? 55 ? 56 ? 57 ? 58 ? 59 ? 60 ? 61 ? 62 ? 63 ? 64 ? 65 ? 66 ? 67 ? 68 ? 69 ? 70 ? 71 ? 72 ? 73 ? 74 ? 75 ? 76 ? 77 ? 78 ? 79 ? 80 ? 81 ? 82 ? 83 ? 84 ? 85 ? 86 ? 87 ? 88 ? 89 ? 90 ? 91 ? 92 ? 93 ? 94 ? 95 ? 96 ? 97 ? 98 ? 99 ? 100 ? 101 ? 102 ? 103 ? 104 ? 105 ? 106 ? 107 ? 108 ? 109 ? 110 ? 111 ? 112 ? 113 ? 114 ? 115 ? 116 ? 117 ? 118 ? 119 ? 120 ? 121 ? 122 ? 123 ? 124 ? 125 ? 126 ? 127 ? 128 ? 129 ? 130 ? 131 ? 132 ? 133 ? 134 ? 135 ? 136 ? 137 ? 138 ? 139 ? 140 ? 141 ? 142 ? 143 ? 144 ? 145 ? 146 ? 147 ? 148 ? 149 ? 150 ? 151 ? 152 ? 153 ? 154 ? 155 ? 156 ? 157 ? 158 ? 159 ? 160 ? 161 ? 162 ? 163 ? 164 ? 165 ? 166 ? 167 ? 168 ? 169 ? 170 ? 171 ? 172 ? 173 ? 174 ? 175 ? 176 ? 177 ? 178 ? 179 ? 180 ? 181 ? 182 ? 183 ? 184 ? 185 ? 186 ? 187 ? 188 ? 189 ? 190 ? 191 ? 192 ? 193 ? 194 ? 195 ? 196 ? 197 ? 198 ? 199 ? 200 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0