[Aula 4] Operadores e Bibliotecas

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Aula 4] Operadores e Bibliotecas

Mensagem  caiohu123 em Sex Nov 26, 2010 5:58 pm

Operadores Aritméticos e Bibliotecas
Aula 4

Na aula anterior vimos como chamar funções e conhecemos as funções print e type. Nesta aula apenas vou reforçar a aula anterior ensinando as funções mais básicas e usadas que são nativas da linguagem Lua, ou seja, não são funções criadas para Open Tibia Server, e sim funções prontas que já estão incluídas na linguagem Lua, e vou ensinar também os operadores aritméticos. Vamos começar com eles.

Os Operadores Aritméticos
OBS: Você pode fazer seus testes no editor e interpretador Lua usando a função print para exibir os resultados.

Enquanto você quiser mecher em Lua (Ou em qualquer outra linguagem de programação), você vai precisar fazer contas matemáticas, sejam elas contas simples como uma adição, ou até mesmo contas complexas, incluindo fórmulas e etc...

Os operadores aritméticos funcionam exatamente como na matemática que você está acostumado na escola. Os operadores aritméticos que você provavelmente conhece (A não ser que esteja usando fraldas) são:
Adição (+)
Subtração (-)
Multiplicação (*)
Divisão (/)
Você já pode começar a testá-los:
Lua:
print(3+2)
print(3-2)
print(3*2)
print(3/2)

O resultado será:
Citação:
5
1
6
1.5
OBS: Se este não for o resultado, procure a assistência técnica pois seu sistema operacional só pode ser pirateado...

Existem mais 3 operadores aritméticos que você talvez não conheça. São eles:
Módulo (%)
Exponencição (^)
Unário (-)
Vamos ver um por um:
O Operador de Módulo (%):
Este operador vai lhe dar o resto de uma divisão, por exemplo, o módulo de 3 por 2 é 1, pois 3 dividido por 2 dá 2 e sobra 1.
Lua:
print(3%2)

Citação:
1
O Operador de Exponencição (^):
Este operador vai lhe dar o valor de uma potência, por exemplo, a potência de 3 por 2 é 9, pois 3 elevado a 2 dá 9.
Lua:
print(3^2)

Citação:
9
O Operador Unário (-):
Este operador vai lhe dar o inverso de um valor, por exemplo, o inverso de 3 é -3, pois 3 vezes -1 dá -3.
Lua:
print(-3)

Citação:
-3
Prioridades Aritméticas (( e )):
Existem também as prioridades aritméticas, que devem ser definidas com ( para iniciar e ) para finalizar. Por exemplo:
Código:
print(3+3*3)
print((3+3)*3)
Citação:
12
18
As Bibliotecas

Vimos na aula anterior que existem vários tipos de dados, como por exemplo, strings e números. Assim como estes tipos, existem bibliotecas (Conjuntos de funções) para manipular estes tipos. Vamos conhecer as funções mais básicas das bibliotecas mais usadas.

A Biblioteca Padrão:
A biblioteca padrão não contém funções para manipular especificamente um tipo de dado, e sim o ambiente de programação. Suas funções mais básica, importantes e mais usadas são:

Sintaxe: Modo correto de escrever o código.
OBS: O que estiver entre [ e ] são argumentos opcionais, ou seja, você pode defini-los ou não. Quando houver três pontos (...) significa que você pode enviar quantos argumentos desejar.

dofile(filename)
Abre o arquivo e o executa como um bloco de código Lua. Ótima função para carregar bibliotecas criadas em Lua.

print(···)
Escreve uma ou mais frases no interpretador. Ótima para fazer testes. A função suporta todos os tipos de dados.

tonumber(value [, base])
Transforma um valor em número. Se não for possível converter, retorna 'nil'.

tostring(value)
Transforma um valor em string.

type(value)
Retorna o tipo de um valor.

Citação:
assert(v [, message])
collectgarbage(opt [, arg])
dofile(filename)
error(message [, level])
getfenv([f])
getmetatable(object)
ipairs(t)
load(func [, chunkname])
loadfile([filename])
loadstring(string [, chunkname])
next(table [, index])
pairs(t)
pcall(f, arg1, ···)
print(...)
rawequal(v1, v2)
rawget(table, index)
rawset(table, index, value)
select(index, ···)
setfenv(f, table)
setmetatable(table, metatable)
tonumber(e [, base])
tostring(e)
type(v)
unpack(list [, i [, j]])
xpcall(f, err)
module(name [, ···])
require(modname)

A Biblioteca Math:
A biblioteca Math serve para manipular operações aritméticas, números, etc...

math.ceil(x)
Retorna um valor inteiro maior que x mais próximo de x. (Em outras palavras, arredonda para cima.)

math.floor(x)
Retorna um valor inteiro menor que x mais próximo de x. (Em outras palavras, arredonda para baixo.)

math.random([m [, n]])
Retorna um valor pseudo-randômico entre m e n baseado em uma semente (Um número que determina a sequência).

math.randomseed(value)
Altera a semente do pseudo-randomismo.




Citação:
math.abs(x)
math.acos(x)
math.asin(x)
math.atan(x)
math.atan2(y, x)
math.ceil(x)
math.cos(x)
math.cosh(x)
math.deg(x)
math.exp(x)
math.floor(x)
math.fmod(x, y)
math.frexp(x)
math.ldexp(m, e)
math.log(x)
math.log10(x)
math.max(x, ···)
math.min(x, ···)
math.modf(x)
math.pow(x, y)
math.rad(x)
math.random([m [, n]])
math.randomseed(x)
math.sin(x)
math.sinh(x)
math.sqrt(x)
math.tan(x)
math.tanh(x)


A Biblioteca String:
A biblioteca string manipula strings...

string.gsub(s, pattern, repl [, n])
Procura na string 's' por valores iguais à string 'pattern' e substitui pela string 'repl'.

string.len(s)
Esta função retorna o tamanho da string 's'.

string.lower(s)
Retorna a string 's' com as letras em minúsculas.

string.upper(s)
Retorna a string 's' com as letras em maiúsculas.

string.rep(s, n)
Retorna a string 's' repetida 'n' vezes.

string.reverse(s)
Retorna a string 's' ao contrário.

string.sub(s, i [, j])
Retorna a parte da string 's' entre as posições i e j.


Citação:
string.byte(s [, i [, j]])
string.char(···)
string.dump(function)
string.find(s, pattern [, init [, plain]])
string.format(formatstring, ···)
string.gmatch(s, pattern)
string.gsub(s, pattern, repl [, n])
string.len(s)
string.lower(s)
string.match(s, pattern [, init])
string.rep(s, n)
string.reverse(s)
string.sub(s, i [, j])
string.upper(s)

A Biblioteca OS:
Esta biblioteca serve para pegar valores ou manipular o sistema operacional, como por exemplo, pegar a data.

os.clock()
Retorna o tempo de execução do script, em segundos...

os.date([format [, time]])
Retorna a data baseada no formato 'format'.

os.time([table])
Retorna um número correspondente à hora atual.



Citação:
os.clock()
os.date([format [, time]])
os.difftime(t2, t1)
os.execute([command])
os.exit([code])
os.getenv(varname)
os.remove(filename)
os.rename(oldname, newname)
os.setlocale(locale [, category])
os.time([table])
os.tmpname()


creditos: caiohu123

caiohu123
Membro
Membro

Mensagens : 32
Data de inscrição : 25/11/2010

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum