-
Total de itens
2098 -
Registro em
-
Última visita
-
Dias Ganhos
16
Tudo que SkyDangerous postou
-
[Lua] Mega Tutorial De Oop [Avançado]
tópico respondeu ao SkyDangerous de SkyDangerous em Tutoriais de Scripting
Obrigado a todos. Eu retirei as informações de um blog, porém eu rescrevi tudo, arrumei alguns erros e testei os códigos. -
Lua Orientada a Objetos Avançado ! Lua é uma linguagem de programação(Sério??) , sua orientação a tabelas, meta tabelas, meta métodos é bem prático e versátil. * Meta tabelas * O que é uma meta tabelas? São tabelas que controla o comportamento de outras estruturas de dados, ela nos permiti alterar o comportamento da tabela. Exemplo, se colocar o código abaixo num interpretador Lua. nome = "Xtibia Forum de Tibia"print(nome:upper()) A saída será: XTIBIA FORUM DE TIBIA Porém, da onde saiu esse upper()? Vejamos.. print(getmetatable(nome)) Sua saída será: table: 0033BE78 Uma meta tabela associado a string !!, vejamos: print(getmetatable(nome).__index == string) Sua saída será: true ou seja concluímos que a chave __index da meta tabelas é módulo de uma string: como exemplo nome:upper() == nome.upper(nome) == string.upper(nome) *Chave __index* A chave __index da meta tabela pode ser uma tabela ou uma função e indica o que deve acontecer quando houver uma tentativa de leitura de uma chave que a estrutura de dados original não possuía Se o objeto referenciado pela variável nome(uma string) não possui a chave upper, então quando tentamos acessar esta chave, o sistema procura pela chave na tabela referenciada pela chave __index da meta tabela, que é uma string Caso queiramos que ela retorna um valor da tabela ASCII, podemos utilizar está função mt = {__index = function (t, k)return k:byte()end}var = setmetatable({b}, mt)print(var) Vale lembrar que essa chave é importante para orientação a objetos. * Classes e Construtores * Em orientação a objeto, classe é um molde para a criação de novos objetos, em Lua,classe em geral é uma meta tabela onde a chave __index aponta para ela própria. Exemplo abaixo: mt = {}mt.__index = mt Meta tabelas se torna um molde para as outras tabelas. As tabelas que fazem o uso deste molde são chamadas de instâncias. As funções de uma classe/instância são chamadas de métodos e sempre recebem implícita ou explicitamente como primeiro argumento a classe ou instância que faz a chamada. Lua pode chamar um método passando a instância (ou classe) implícita ou explicitamente Exemplo de uma chamada explícita: login = login.lower(login) Exemplo de uma chamada , passando a instância implicitamente login = login:lower() Existe um método especial chamado construtor, que é executado sempre que uma nova instância é criada. Vejamos: function mt:new(o)o = o or {}return setmetatable(o, self)end O construtor do código a cima recebe como um argumento uma tabela que servirá de referência para a criação da instância. O primeiro comando garante que o argumento o é uma tabela, o segundo associa a meta tabela ao objeto, retornando-o. Como new()é um método de classe, self representa a classe. Se fosse um método de instância, self representaria a instância. * Outros métodos * Podemos criar outros métodos. Por exemplo queremos criar um somatório dos elementos números da tabela seja retornado para o método soma() Exemplo function mt:soma()local s = 0table.foreachi(self, function (i, e)if type(e) == "number" thens = s + eendend)return send Podemos criar um objeto com alguns valores números e retornar seu somatório: var = mt:new { 2, 4, 6 }ret = var:soma()print (ret) Que imprimirá: 12 *Meta Métodos* Apenas irei citar alguns, caso tenha curiosidade procure sobre. __add – gerencia operador de adição; __sub – gerencia operador de subtração; __mul – gerencia operador de multiplicação; __div – gerencia operador de divisão; __unm – gerencia operador unário de negação; __eq – gerencia operador de igualdade; __lt – gerencia operadores menor que e igual ou maior; __le – gerencia operadores menor ou igual e maior que; __pow – gerencia operador de potência; __tostring – gerencia conversão para string; __tonumber – gerencia conversão para número. * Herança * Queremos outra classe que além de devolver a soma, também devolva o produto, mas sem modificar a classe original. Para isso herdamos uma nova classe, para isso precisamos instanciar a classe pai normalmente, modificar a instância e usar esta instância como uma nova classe Exemplo function nmt:produto()local p = 1]table.foreachi(self, function (i, e)if type(e) == "number" thenp = p * eendend)return pendvar = nmt:new { 2, 4, 6 }[size=4]print(var:soma(), var:produto()) Imprimirá: 48 Há outra forma mais avançada de herança, chamada herança múltipla, que acontece quando uma classe é herdeira de mais de uma classe pai. Fim. Mega Tutorial OOP em Lua
-
Por Que A Desigualdade De Renda É Importante?
tópico respondeu ao noobinhu de SkyDangerous em Papo Cabeça
Por quê quem queria viver num país onde todos tem o melhor celular, o melhor carro e uma casa enorme, o mais legal e você ter uma coisa e outro não ter, pra não ficar tudo igual. -
tópico inútil. então fechado.
-
Comecei A Mecher Com Photoshop Vejam Oq Vcs Acham Da Img Q Eu Fiz
tópico respondeu ao Subwat de SkyDangerous em Lixeira Pública
esse tópico será fechado. e o usuário será alertado. aguarde. -
que bosta. nem adianta banir, por quê toda hora que banir ele vai voltar. exitem uns 7000 proxys , boa sorte equipe,
-
eu acho que. seis devem cuidar da vida de vocês, que eu cuido da minha.
-
pedi pra fechar
-
Necessito De Uma Explicação Plausível
tópico respondeu ao SkyDangerous de SkyDangerous em Lixeira Pública
muda todo dia meu jovem padawan rep+ -
Necessito De Uma Explicação Plausível
tópico respondeu ao SkyDangerous de SkyDangerous em Lixeira Pública
FILHO DA PUTA PARA DE PEGAR FOTO DO MEU FACE E POSTAR AQUI KARALHO. -
Necessito De Uma Explicação Plausível
tópico respondeu ao SkyDangerous de SkyDangerous em Lixeira Pública
pera antes de fechar. deixa eu postar aqui. só pra ganhar 1 post. obg -
Necessito De Uma Explicação Plausível
tópico respondeu ao SkyDangerous de SkyDangerous em Lixeira Pública
pira na piscina aquecida que eu tenho em casa. ela tem 16 metros de cumprimento .. com prainha com 4 hidromassagens , 1 cascata .. além de luzes na agua .. uhuh' pelo menos não sou obeso .. -
Necessito de uma explicação: Minha amiga rafaela me chamou pra ir no churrasco hoje, ai eu fui .. na vdd era pra agente ficar, que eu acabei ficando com ela .. kk' do nada, a menina chega muito gostosinha, e fala assim "eu te vi ontem no show" ai eu com cara de assustado "como?" .. ela é eu te vi ontem "você tava com o cabelo do lado, camiseta xadrez vermelha e branca" .. agora o mistério: 1- Eu nunca vi ela 2- Na festa tava muito apertado, quase não dava pra andar 3- Tava escuro. Como essa mina me viu, além de lembrar, da minha fisionomia, logo que na festa eu fui de um jeito e no churrasco de outro ? será que ela gamo em mim?
-
foda-se ;D
-
dahoraa
-
flooders é vocês que ficam postando monte de foto ..
-
vei para de floodar os tópicos puta que pariu. alerta esses gays do karaio
-
comer uma menina de 13~14 anos de idade? uhauha .. meiofoda meu coração diz pra ficar com ela, mais ao mesmo tempo .. se eu gostar dela e ai?
-
eu sou muito lindo. e todo dia tem menina querendo ficar cmg ta ligado. e toda hora ela fica falando . quem e essa mina que curtiu sua foto? que ta falando com vc? ah vei ta fods
-
Agente combino de nos conhecer melhor no show que vai ter conrado & aleksandro e ze ricardo e thiago. Eu to com medo vei. eu to gostando dela e ela de mim, porém a gente mora longe 3h de distancia. ai ela falo que namoraria comigo, só que ela falo que ela não sabe o que eu to fazendo aqui , ela fica meio que preocupada .. vai que to ficando com outra menina. agora o problema. se eu ficar com ela, gostar realmente, ter que ir embora e ficar sofrendo? mais se eu não ficar com ela vou sofrer mais ainda acho,.. pfffffffffff, que bosta não sei o que eu faço
-
vish chamou pro pvp. eu metia a sd no cú
-
Oi meu nick éSlipknotShadow e não pego nenhuma mulher. Na internet finjo que sou um transer e catador de mulher, mas na verdade eu sou um virgem e bv da vida que gosta de jogar tibia
-
PORRA QUE ZIKAA, TO FUDIDO. E AGORA?????? UHauhUHAuhauhuha
-
crítica Fechando O Tópico No Barzinho
tópico respondeu ao SkyDangerous de SkyDangerous em Lixeira Pública
Nada vê cara. Eu posto o que eu acho engraçado e legal para ser compartilhado. Eu e você fica postando coisas tipo, olha que a menina falo pra mim .. nossa to apaixonado .. mais o seus não fazem nada por ser coord .. agora no meu fica fechando ..
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.