[SP-pm] Dúvida entre Scalar Context e List Context

Nilson Santos Figueiredo Jr. acid06 at gmail.com
Tue Mar 23 07:19:26 PDT 2010


2010/3/23 Solli Honorio <shonorio at gmail.com>:
> eu acho que aqui estamo confundindo mais do que ajudando, estamos falando de
> atribuições e misturando com contexto ... bom só para pensarmos numa melhor
> maneira de explicar isto ... eu ainda acho que o problema é que as pessoas
> não entendem a palavra 'contexto'....

É porque a atribuição força um contexto e facilita a explicação.
Exemplos:

# lado esquerdo scalar, força avaliação do lado direito em contexto scalar
# retorna o número de elementos na array
my $var = @array;

# lado esquerdo list, força avaliação do lado direito em contexto list
# copia os elementos da array
my @var = @array;

# parenteses fazem com que o lado esquerdo seja list, então lado
direito list também
# copia o primeiro elemento de @array para $var, similar a: $var = $array[0]
my ($var) = @array;

Aí você pode generalizar essas regras de atribuição para outras situações.

-Nilson


More information about the SaoPaulo-pm mailing list