typestar

Estructuras de datos anidadas en Perl

[] y {} anónimos se anidan a cualquier profundidad, como JSON antes de JSON.

use strict;
use warnings;

# anonymous [] and {} nest to any depth
my $config = {
    name  => "typestar",
    ports => [8080, 8443],
    db    => { host => "localhost", pool => 5 },
};

print "name: $config->{name}\n";
print "first port: $config->{ports}[0]\n";
print "db host: $config->{db}{host}\n";

$config->{db}{pool} += 5;
print "pool now: $config->{db}{pool}\n";

Cómo funciona

  1. $config es un hashref que guarda una cadena, un arrayref y otro hashref.
  2. Los subíndices encadenados perforan: $config->{ports}[0], $config->{db}{host}.
  3. Las flechas entre subíndices son opcionales; solo la primera es obligatoria.
  4. Los valores anidados también son lvalues: += actualiza pool justo donde vive.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
358
Tokens
68
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 63 segundos.

Escribe este fragmento

Paso 3 de 3 en Referencias y estructuras; paso 21 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →