.método

3 Respostas   112 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

MendigoDoMato

  • *
  • Posts: 40
  • Ouros: 4
Tópico criado em: 06/09/2016 às 17:32 - Última modificação por Skyloftian em 09/09/2016 às 23:12

Como eu crio um método que de pra ser usado da mesma forma que o "to_i", por exemplo ?

Dessa forma que eu digo

x = 2
x.to_dobro

def  self. to_dobro;self*2;end  (eu chutei o self)

em que momento ele deve ser escrito? no initialize ? no update ?

Resque

Resposta 1: 06/09/2016 às 17:47 - Última modificação por Resque em 06/09/2016 às 17:59

Você terá que abrir a classe Fixnum e criar um método dentro dela.

Spoiler
[close]

Spoiler
[close]

Você pode adicionar um arquivo chamado "Overrides" como se fosse um novo script e colocar esse código dentro.

Você pode adicionar um novo método em qualquer classe, basta saber a classe do objeto.

Para saber a classe você pode usar o método ".class"

Spoiler
[close]

Syureri

Resposta 2: 06/09/2016 às 18:01

Como já dito, você pode abrir a classe Fixnum, filha da superclasse Integer que é filha da superclasse Numeric que finalmente é filha da superclasse Object.
Ao inserir um método lá, você pode, globalmente, chamar em qualquer lugar contanto que o tipo de variável receba propriedades daquela específica classe.

Realçando o que o Resque disse, se você usar .methods (2.methods, $game_party.methods, etc...) você pode saber todos os métodos da classe a qual aquele objeto pertence.

Eu pessoalmente prefiro criar um módulo Core para essas coisas, mas é preferência do scripter mexer ou não nas classes internas.

MendigoDoMato

  • *
  • Posts: 40
  • Ouros: 4
Resposta 3: 07/09/2016 às 14:49

puts! supimpa essa dicas! vou testar aqui!