# Creating multiple functions (in a different or global scope) using a one macro

**URL:** <https://discourse.julialang.org/t/creating-multiple-functions-in-a-different-or-global-scope-using-a-one-macro/84614>\
**Category:** New to Julia\
**Tags:** question\
**Created:** [July 21, 2022, 10:38pm UTC](https://discourse.julialang.org/t/creating-multiple-functions-in-a-different-or-global-scope-using-a-one-macro/84614 "2022-07-21T22:38:06Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [July 21, 2022, 10:51pm UTC](https://discourse.julialang.org/t/creating-multiple-functions-in-a-different-or-global-scope-using-a-one-macro/84614/2 "2022-07-21T22:51:50Z")

</div>

```julia
julia> macro example(fprefix)
           exs = [quote $(Symbol(fprefix, :_, i))() = $i end for i = 1:3]
           @show exs
           esc(Expr(:block, exs...))
       end
@example (macro with 1 method)

julia> @example f
exs = Expr[quote
    #= REPL[29]:2 =#
    f_1() = begin
            #= REPL[29]:2 =#
            1
        end
end, quote
    #= REPL[29]:2 =#
    f_2() = begin
            #= REPL[29]:2 =#
            2
        end
end, quote
    #= REPL[29]:2 =#
    f_3() = begin
            #= REPL[29]:2 =#
            3
        end
end]
f_3 (generic function with 1 method)

julia> f_2()
2

```

---

_[View the full topic](https://discourse.julialang.org/t/creating-multiple-functions-in-a-different-or-global-scope-using-a-one-macro/84614)._
