[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] ShellScript - Array
From: |
jimmy |
Subject: |
Re: [shell-script] ShellScript - Array |
Date: |
Mon, 18 Oct 2010 22:04:37 -0200 |
User-agent: |
Mutt/1.4.2.3i |
Usando-se um shell com suporte a vetores associativos também é possível
emular um array multidimensional realizando concatenação de strings,
mais ou menos como o awk faz:
declare -A array
for i in {1..9}; do
for j in {1..9}; do
(( array["$i:$j"] = $i + $j ))
done
done
echo ${array[1:2]}
talvez usar o awk nesse caso seja mais adequado.
On Mon, Oct 18, 2010 at 04:29:46PM -0200, Julio C. Neves wrote:
> O bash aceita vetores com ?ndices inteiros e a partir da vers?o 4.0 aceita
> tb vetores associativos, isto ?, os que t?m ?ndice alfa. p. ex:
>
> $ declare -A fruta
> $ fruta[laranja]=suco
> $ fruta[uva]=vinho
> $ fruta[cana]=cacha?a
> $ echo ${fruta[@]}
> cacha?a suco vinho
> $ echo ${!fruta[@]}
> cana laranja uva
>
> No entanto em ambos os casos os vetores t?m somente uma dimens?o.
>
> Qdo fiz um jogo da velha, emulei duas dimens?es criando ?ndices da seguinte
> forma:
>
> Suponha que $Lin possua 3 e $Col possua 2. Assim para colocar um X na linha3
> coluna2 basta fazer:
>
> tabuleiro[Lin*10+Col]=X
>
> Para ler:
>
> Linha = indice / 10
> Coluna= indice % 10
>
> Espero que vc tenha entendido, se pretender usar esse macete, me avise em
> pvt, que te mando o jogo.
>
> Abc,
> Julio
>
>
>
> Em 18 de outubro de 2010 15:37, Leonardo D'Angelo Gon?alves <
> address@hidden> escreveu:
>
> >
> >
> > Boa Tarde
> >
> > Gostaria de tirar uma duvida. O Bash ou qualquer outro shell possui suporte
> > a array de 2 dimensoes? e como seria sua implementa??o
> >
> > Exemplo:
> >
> > ARRAY[$i][$j]
> >
> > Obrigado
--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------