typestar

Subrutinas y @_ en Perl

La convención clásica de llamada: cada argumento llega en un arreglo plano llamado @_.

use strict;
use warnings;

sub greet {
    my ($name, $greeting) = @_;
    $greeting //= "Hello";
    return "$greeting, $name!";
}

sub total {
    my $sum = 0;
    $sum += $_ for @_;
    return $sum;
}

print greet("Ada"), "\n";
print greet("Grace", "Welcome"), "\n";
print total(2, 3, 5), "\n";

Cómo funciona

  1. greet desempaca @_ en léxicas con nombre; //= pone un valor por defecto si no llegó saludo.
  2. total nunca desempaca — recorre @_ directo, así que acepta cualquier número de argumentos.
  3. Llama con uno o dos argumentos; la subrutina decide qué significan los extra.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
18
Caracteres a escribir
273
Tokens
84
Ritmo de tres estrellas
75 tpm

Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 67 segundos.

Escribe este fragmento

Paso 1 de 3 en Subrutinas; paso 16 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →