proc iota(): proc(): int =
        var i = 0
        proc fn (): int =
            i = i + 1
            return i
        result = fn
    
    
    var j = iota()
    echo j() , j()
    var k = iota()
    echo k(), k(), k()
    echo j()
    
    
    Run

i is local to each closure.

Reply via email to