on some methods I get additional signal triggers.
Code: Alles auswählen
val e1 = Evt[Int]()
val s1 = e1 list
val sth = Signal[List[Int]] {
s1()
}
val printer = Signal[Unit] {
println(sth())
}
e1(1)
e1(2)
e1(3)
// prints List() List() List(1) List(2, 1) List(3, 2, 1)
Code: Alles auswählen
val e1 = Evt[Int]()
e1(1)
val s1 = e1 list
val sth = Signal[List[Int]] {
s1()
}
val printer = Signal[Unit] {
println(sth())
}
e1(2)
e1(3)
// prints List() List() List(2) List(3, 2)
Where does that come from?
@edit
Actually it is not bad at all, since the contract says, that macro methods should not have side-effects.