# Metaprograming, function eval not works as expected

**URL:** <https://discourse.julialang.org/t/metaprograming-function-eval-not-works-as-expected/87119>\
**Category:** New to Julia\
**Created:** [September 12, 2022, 8:52am UTC](https://discourse.julialang.org/t/metaprograming-function-eval-not-works-as-expected/87119 "2022-09-12T08:52:44Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Brian1](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brian1/32/49250_2.png) [@Brian1](https://discourse.julialang.org/u/Brian1)\
**Post date:** [September 12, 2022, 8:52am UTC](https://discourse.julialang.org/t/metaprograming-function-eval-not-works-as-expected/87119/1 "2022-09-12T08:52:44Z")

</div>

I has had always been confusing on Julia Metaprograming. Here is an example:

I have a variable:

```julia
const SAer = 1

```

How can I define a macro like:

```julia
macro Ticker_str(x)
    #do someting
end

```

to get this:

```julia

v=Ticker"SA"
# v === SAer

```

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [September 12, 2022, 9:08am UTC](https://discourse.julialang.org/t/metaprograming-function-eval-not-works-as-expected/87119/2 "2022-09-12T09:08:16Z")

</div>

```julia
julia> const SAer = 1
1

julia> macro Ticker_str(x)
           return esc(Symbol(x, "er"))
       end
@Ticker_str (macro with 1 method)

julia> v = Ticker"SA"
1

```

---

<div class="post-metadata">

**Author:** ![Brian1](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brian1/32/49250_2.png) [@Brian1](https://discourse.julialang.org/u/Brian1)\
**Post date:** [September 12, 2022, 9:17am UTC](https://discourse.julialang.org/t/metaprograming-function-eval-not-works-as-expected/87119/3 "2022-09-12T09:17:23Z")

</div>

Thanks much for your help.
