Ir para conteúdo

SkyDangerous

Lorde
  • Total de itens

    2098
  • Registro em

  • Última visita

  • Dias Ganhos

    16

Tudo que SkyDangerous postou

  1. Obrigado a todos. Eu retirei as informações de um blog, porém eu rescrevi tudo, arrumei alguns erros e testei os códigos.
  2. 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
  3. 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.
  4. tópico inútil. então fechado.
  5. esse tópico será fechado. e o usuário será alertado. aguarde.
  6. que bosta. nem adianta banir, por quê toda hora que banir ele vai voltar. exitem uns 7000 proxys , boa sorte equipe,
  7. eu acho que. seis devem cuidar da vida de vocês, que eu cuido da minha.
  8. FILHO DA PUTA PARA DE PEGAR FOTO DO MEU FACE E POSTAR AQUI KARALHO.
  9. pera antes de fechar. deixa eu postar aqui. só pra ganhar 1 post. obg
  10. 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 ..
  11. 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?
  12. flooders é vocês que ficam postando monte de foto ..
  13. vei para de floodar os tópicos puta que pariu. alerta esses gays do karaio
  14. 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?
  15. 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
  16. 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
  17. SkyDangerous

    Ngm Ajuda

    vish chamou pro pvp. eu metia a sd no cú
  18. 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
  19. PORRA QUE ZIKAA, TO FUDIDO. E AGORA?????? UHauhUHAuhauhuha
  20. 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.
×
×
  • Criar Novo...