White RoomNEW

The Listener That Vanished

class Bus:
    def __init__(self):
        self.subs = []
    def on(self, fn):
        self.subs.append(fn)
    def off(self, fn):
        self.subs.remove(fn)
    def emit(self, ev):
        for fn in self.subs:
            fn(ev)

bus, log = Bus(), []

def a(ev): log.append("a")
def b(ev): log.append("b"); bus.off(b)      # one-shot subscriber
def c(ev): log.append("c")

bus.on(a); bus.on(b); bus.on(c)
bus.emit("tick")
print(log)

What is printed?