[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Ref: [shell-script] shell ou nao shell, eis a questao
From: |
aurelio |
Subject: |
Re: Ref: [shell-script] shell ou nao shell, eis a questao |
Date: |
Tue, 22 Apr 2003 11:25:24 -0300 (ART) |
oi rodolfo,
--- Rodolfo Villanova <address@hidden>
> Permita-me discordar da tua afirmação (puxa vida, vou contestar o
> grande mestre Aurélio Jargas!)
ei, mestre aqui é o julio, o shell-guru.
eu sou aprendiz de shelleiro ;)
> É possível, sim, utilizar o princípio de manipulação de matrizes em
> shell-script.
bem, então receio que não temos o mesmo conceito de matrizes :)
> > for i in 1 2 3
> > do
> > for j in 1 2 3
> > do
> > [ "${P[$i$j]}" = X ] && LX[i]=$((${LX[$i]}+1))
> > [ "${P[$i$j]}" = O ] && LO[i]=$((${LO[$i]}+1))
> > [ "${P[$j$i]}" = X ] && CX[i]=$((${CX[$i]}+1))
> > [ "${P[$j$i]}" = O ] && CO[i]=$((${CO[$i]}+1))
> > done
> > done
ok, isso funciona, mas não deixa de ser um array
unidimensional, com apenas uma "linha" e várias
"colunas".
um array assim como eu o conheço, deve ter linhas e colunas.
tipo assim:
array[0] = (1 2 3 4 5) # linha 1
array[1] = (1 2 3 4 5) # linha 2
...
array[N] = (...) # linha N
pra depois você acessar como:
array[linha][coluna]
até onde eu vi, em shell não dá pra fazer matrizes com
linhas e colunas:
> > > mas uma pergunta... dá pra trabalhar com matriz em shell?
> > também não sei, vamos ver:
> > # a[0]=(1 2 3 4)
> > bash: a[0]: cannot assign list to array member
> > Resposta: não &:)
mas usando a técnica do trecho do script do julio se pode
"simular" uma matriz com linhas e colunas se usar as
dezenas como linhas e as unidades como colunas.
mas isso te limita a uma matriz de tamanho máximo de
10 linhas e 10 colunas (array[99]).
=====
--
ATENCAO: o www.verde666.org vai morrer, use www.aurelio.net
ATTENTION: www.verde666.org is no more, use www.aurelio.net
_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3,
filtro contra spam.
http://br.mail.yahoo.com/