..:: P.V Supreme ::.. Membro
Sexo : Mensagens : 241
| Assunto: Aula Extra 4: Módulos Dom Dez 19, 2010 1:26 pm | |
| IntroduçãoEsta aula pode ser considerada como parte do curso básico, os módulos são um conteúdo básico ao qual eu acabei esquecendo de explicar, mas "antes tarde do que nunca" vamos hoje estudar o que são, pra que servem e como se usam os módulos!O que são?Módulos são criados quase como as classes, você pode considerar um módulo como um pacote de informações(métodos, constantes e funções) que poderão ser acessadas a qualquer momento por qualquer classe, são magnificamente úteis para o armazenamento de dados como a configuração utilizada em um script, facilitando a vida de todos os scripters.Para que servem?Posso dizer que existem 3 tipos básicos de módulos: Armazenamento, Pacote de Funções e Pacote de Métodos. Os 3 tipos podem ser utilizados em um módulo só, ou seja, cada módulo pode ter 3 partes distintas, uma de cada tipo. Apenas vou lembrar que essa classificação é pessoal e não oficial, vou dividí-los por questões didáticas!ArmazenamentoComo o nome ja diz, servem basicamente para armazenar dados constantes tais como configurações ou um banco de dados para os scripts, são fáceis de manusear e muito fáceis de criar, bastando ao scripter declarar as constantes dentro do bloco de códigos do módulo.Pacote de FunçõesEssa "parte" ou "tipo" de módulo exerce uma função bem parecida com uma classe, mas por ser estático, essas funções podem ser utilizadas a qualquer momento, por exemplo, o módulo Math, esse módulo nada mais é que um conjunto de métodos que fazem operações matemáticas avançadas como raiz, logarítmo e etc. Módulos desse tipo são muito usados por scripter que possuem pacotes de funções próprios como o módulo XRXS, RTH...Pacote de MétodosEssa é uma finalidade mais complexa dos módulos, ela serve literalmente para economizar linhas de programação, para o script, nada muda, mas para o scripter, a diferença é grande. Um módulo tem suporte para armazenar métodos que serão emprestados, divididos ou como queira chamar, para outras classes, assim, você pode ter um método só e usá-lo em várias classes diferentes!Como usar?Usar um módulo é uma tarefa simples, na declaração, apenas mudamos o ja conhecido class por module, Além disso, muitos preferem criar módulos apenas com letras maiúsculas como APS, RTH, SDK... mas existem exceções como o User_Edit do Net Play! AVISO! Módulos não são instanciados, ou seja, não da pra usar o comando new, você deve usar diretamente o nome do módulo!ArmazenamentoPara armazenar dados constantes em um módulo, basta criá-lo e ir adicionando as infos, veja o exemplo: - Código:
-
module APS DATA = [] DATA = [1,7,21,23,12] end
Para acessar a constante DATA, basta por o nome do módulo seguido de :: e o nome da variável, no exemplo fica APS::DATA. Você pode armazenar qualquer tipo de dado primitivo dentro de um módulo.Pacote de FunçõesOs pacotes de funções são métodos que são armazenados em um módulo e podem ser usados a qualquer momento. Para criar um método do tipo função, use def self., dentro do bloco de códigos é tudo na mesma, veja o exemplo: - Código:
-
module Math def self.hipotenusa(catA, catB) a = sqrt(catA*catA + catB*catB) return a end end
Para usar esse método, basta chamar Math::hipotenusa(3,4) (como é um método, pode usar Math.hipotenusa(3,4)) por exemplo, o script irá retornar o valor da hipotenusa desse triângulo!
Você pode dividir as funções por classes ou módulos internos, por exemplo
module RPG module Cache def self.picture(name) <..>
Assim, seu módulo pode ter diversos blocos distintos cada um com suas funçõesPacote de MétodosPacotes de métodos nada mais são que um ou mais métodos criados dentro de um módulo, mas que só tem utilidade se forem usados dentro de uma classe, para isso usamos o comando include na classe, Veja o exemplo: - Código:
-
module APS def count @n += 1 end end
class Teste include APS def initialize @n = 0 end end
Veja que a classe Teste não tem nenhum método, mas como utilizei um include APS, o método count presente no módulo, é importado para o APS, note duas coisas, o método count não tem o "self", isso por que métodos com self só podem ser usados diretamente pelo módulo, eles não são importados como include, métodos sem o self não podem ser usados direto pelo módulo, mas são importados. Além disso, note que usei no método um atributo com o mesmo nome do atributo de Teste, sem isso o script não funciona. Você pode criar uma série de métodos e ir importando eles em todas as classes que os utilizarão, assim não tem que criar um por um!Módulos de ScriptersÉ comum que com o tempo e experiência, os scripters mais avançados peguem o hábito de usarem sempre as mesmas funções, para economizar tempo, eles criam módulos próprios, esses módulos servem para armazenar tudo o que eles irão utilizar em seus scripts, daí surgem os modulos ja mencionados, como o meu próprio, o APS, ou os mais requintados como o RTH que são cheios de coisas. Nesses módulos, vocês provavelmente encontrarão os 3 tipos de módulo mencionados juntos, dando ênfase para as funções.Tags de BuscaMódulo module include constante..:: Crédito ::..Total a: Anderson Porto... Por Disponibilizar: ..:: P.V Supreme ::....:: Agradecimentos ::..Google xD foi da onde que tirei... + sei que essas aulas são de Anderson Porto...OBS: Chegamos ao Final Dessa Etapa, Próxima Etapa: Sintaxe | |
|
Nandik Membro
Mensagens : 143
| Assunto: Re: Aula Extra 4: Módulos Seg Dez 20, 2010 7:52 am | |
| P.V acho que vc não leu a nova regra desta área!! da pra identifica que isso e de Script?? | |
|
..:: P.V Supreme ::.. Membro
Sexo : Mensagens : 241
| Assunto: Re: Aula Extra 4: Módulos Seg Dez 20, 2010 9:22 am | |
| Nandik, acho que você que não entendeu, me desculpe mais vo te que falar, você só sabe criticar, só sabecriar regras sem sentido, isso faz parte das Auas de RGSS, eu não falei que era aula de Script, isso facilita + o Entendimento do RGSS, então antes de falar qualquer coisa, pense antes... | |
|
Nandik Membro
Mensagens : 143
| Assunto: Re: Aula Extra 4: Módulos Seg Dez 20, 2010 1:42 pm | |
| p.V aqui vai se postada aulas de eventos também então acho que você deve pensar, e eu não critiquia Aula. | |
|
Conteúdo patrocinado
| Assunto: Re: Aula Extra 4: Módulos | |
| |
|