Πέμπτη, 2 Ιουνίου 2016

Λάμδα και Γεγονός μαζί!

Δημιουργούμε έναν Iterator, Μετρητή δηλαδή ως μια συνάρτηση λάμδα που δίνει μια λάμδα!
Η b() θα μπορούσε να ήταν και κανονική συνάρτηση!

Iterator = Lambda -> {
      Read x,z
      =Lambda x, z->{
            Read e
            If x>=z Then Exit
            Call Event e x
            x++
            =True
      }
}

a=Iterator(10,15)
\\ another way using function
'Function b {Print Number}
b=Lambda->{Print Number}
Event c {Read x}
\\ multicast
Event c New b(), b()
Call Event c 5
While a(c) {}


Χωρίς γεγονός:

iterator = lambda -> {
      read x,z
      =lambda x, z->{
            Read f
            if x>=z then exit
            Call function f, x
            x++
            =true
      }
}
a=iterator(10,15)
b=lambda->{Print Number}
While a(b) {}

a=iterator(10,15)
c=lambda->{Print "No parameters"}
While a(c) {}