From anonymous, 1 Year ago, written in Python.
Embed
  1. class Signal:
  2.  
  3.     def __init__(self):
  4.         self._funcs = []
  5.  
  6.     def connect(self, func):
  7.         self._funcs.append(func)
  8.  
  9.     def emit(self, *args):
  10.         for func in self._funcs:
  11.             func(*args)
  12.  
  13.  
  14. def slot(text):
  15.     print(text)
  16.  
  17.  
  18. sig = Signal()
  19. sig.connect(slot)
  20. sig.emit("Hello World")