typestar

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

  1. [title uppercaseString] envía un mensaje a un objeto.
  2. Los envíos se anidan: el resultado interno recibe el mensaje externo.
  3. Enviar a nil devuelve cero en vez de reventar — rareza definitoria.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 1 de 3 en Mensajes; paso 4 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →