|
_part2
Estruturas prontas
A linguagem magik oferece algumas estruturas de dados prontas, as quais você instancia e utiliza de acordo com a necessidade.
Para instanciar, basta associar uma nova instancia das mesmas à uma variàvel como nos exemplos abaixo:
#vetor dinamico de indexação interna não ordenado
x << rope.new()
#vetor de tamanho pré-definido de indexação interna ordenado
x << simple_vector.new(tamanho_do_vetor)
#conjunto indexado internamente não ordenado
x << equality_set.new()
#tabela hash indexada externamente não ordenada
x << hash_table.new()
Essas são as estruturas mais comumente utilizadas.
Iterações
Existem varias formas de definir iterações, aqui vou exemplificar algumas delas:
_for i _over algum_vetor.elements()
_loop
write(i)
_endloop
Nesse exemplo, essa iteração irá percorrer o vetor algum_vetor, e para cada elemento presente dentro desse vetor, ele ira imprimir o dado elemento.
_for i _over 1.upto(10)
_loop
write(i)
_endloop
Nesse outro exemplo, o que define a duração do loop é a função upto, que recebe o numero final de iterações como parâmetro. O resultado impresso será uma contagem de 1 a 10.
_for i,j _over hash_table.elements()
_loop
write(i, " - ",j)
_loop
Nesse caso, usamos 2 variáveis no for, uma para pegar o valor da chave da tabela e outra pra pegar o valor da mesma. O resultado impresso é chave_da_tabela - valor da chave.
Condicionais
Aqui vamos ver as formas mais comuns de definir condições para a execução:
_if a = b
_then
write(a)
_elif a = b _orif
b = c
_then
write(a," + ",b)
_elif a = b _andif
b = d
_then
write(d)
_else
write(c)
_endif
Nesse exemplo, temos várias condicionais consecutivas. Utilizamos também opções como or ou and, quando queremos comparar várias condições para uma mesma execução.
Com essas 2 partes do tutorial magik, você já deve ser capaz de criar suas próprias classes e métodos utilizando as funções mais comuns em programação, encerrando assim a 2 parte deste tutorial.
_endpart2
Nenhum comentário :
Postar um comentário