Emitter        Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Emitter

2 participantes

Ir para baixo

Emitter        Empty Emitter

Mensagem por Paulo Soreto Dom Out 09, 2016 4:17 pm

Emissor de eventos com mesmas funcionalidades do Emitter do Node.js escrito em Ruby.

Código:
#==============================================================================
# ** Emitter
#------------------------------------------------------------------------------
# Autor   Paulo Soreto
# Versão  1.1
#------------------------------------------------------------------------------
# Classe responsável por gerenciar e emitir eventos.
#==============================================================================

class Emitter
  #--------------------------------------------------------------------------
  # * Inicialização
  #--------------------------------------------------------------------------
  def initialize
    @events = {}
  end
  #--------------------------------------------------------------------------
  # * Adiciona um evento
  #--------------------------------------------------------------------------
  def on(event, &callback)
    @events[event] ||= []
    @events[event].push(callback)
  end
  #--------------------------------------------------------------------------
  # * Emite um evento
  #--------------------------------------------------------------------------
  def emit(event, *args)
    return if @events[event].nil?
    @events[event].each { |e| e.call(*args) }
  end
end

Exemplo de uso:
Código:
e = Emitter.new
e.on(:nome) { |nome, sobrenome| print("Olá #{nome} #{sobrenome}!") }
e.emit(:nome, 'Paulo', 'Soreto')

Esse sistema pode ser usado em um módulo para gerenciar conexões de forma assíncrona, trabalhando para executar ações dependentes. Em sistemas para GUI com a mesma aplicação.

_________________
Emitter        FwYnoXI
Paulo Soreto
Paulo Soreto
Lenda
Lenda

Mensagens : 1980
Créditos : 367

Ficha do personagem
Nível: 1
Experiência:
Emitter        Left_bar_bleue0/0Emitter        Empty_bar_bleue  (0/0)
Vida:
Emitter        Left_bar_bleue30/30Emitter        Empty_bar_bleue  (30/30)

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

Emitter        Empty Re: Emitter

Mensagem por Komuro Takashi Seg Out 10, 2016 8:04 am

Obrigado pela contribuição. +1

_________________
Emitter        Takashi_komuro_by_minato8-d51g9o4

Paga um café? Patreon
Komuro Takashi
Komuro Takashi
Colaborador
Colaborador

Mensagens : 1047
Créditos : 130

Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos