Envíos de mensajes en Objective-C
Corchetes por todas partes — y nil absorbe mensajes en silencio.
#import <Foundation/Foundation.h>
int main(void) {
@autoreleasepool {
// Everything happens by sending messages in square brackets.
NSString *title = @"blue train";
// Sends nest inside sends, reading inside out.
NSString *display = [[title uppercaseString]
stringByAppendingString:@" [remastered]"];
NSLog(@"%@", display);
// A message to nil quietly answers zero -- no crash.
NSString *missing = nil;
NSLog(@"Missing length: %lu", (unsigned long)[missing length]);
}
return 0;
}
Cómo funciona
[title uppercaseString]envía un mensaje a un objeto.- Los envíos se anidan: el resultado interno recibe el mensaje externo.
- Enviar a nil devuelve cero en vez de reventar — rareza definitoria.
Palabras clave y builtins usados aquí
NSStringintlongnilreturnunsignedvoid
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 483
- Tokens
- 75
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 69 segundos.
Paso 1 de 3 en Mensajes; paso 4 de 27 en Fundamentos del lenguaje.