diff --git a/julia/dowhile.jl b/julia/dowhile.jl index 6471239bda54eab89c8909c0d0eeb5fa09a8b60c..00afddef2247d763e95c1763893675111d533f65 100644 --- a/julia/dowhile.jl +++ b/julia/dowhile.jl @@ -1,5 +1,5 @@ macro doWhile(block, cond) - #println("__source__ ", __source__) + # println("__source__ ", __source__) #println("cond ", cond) #println("block ", block) @@ -11,6 +11,7 @@ macro doWhile(block, cond) $(esc(block)) end end - println(res) # Should not print any lines referencing dowhile.jl + #print(__source__.line) + #println(res) # Should not print any lines referencing dowhile.jl res end diff --git a/julia/run.jl b/julia/run.jl index 20a34525653431262b34c45f32284c35d7f33eee..a86474de15373553193751aa1570879031964195 100644 --- a/julia/run.jl +++ b/julia/run.jl @@ -8,13 +8,14 @@ end for (name,op) in [(:add, :+), (:sub, :-), (:mul, :*)] # Create a function that is named for example add and returns the # sum of its two arguments - + eval(quote + ($name)(x,y) = eval(Expr(:call, $op, x, y)) + end) end - -#@assert 3 == add(1, 2) -#@assert -1.0 == sub(1.0, 2.0) -#@assert "abc" == mul("ab", "c") +@assert 3 == add(1, 2) +@assert -1.0 == sub(1.0, 2.0) +@assert "abc" == mul("ab", "c") """Reflective programming often has to do with accessing or creating functions at runtime, but it is so similar to template programming that you could