# Make ProgressMeter description display depends on a for-loop variable

**URL:** <https://discourse.julialang.org/t/make-progressmeter-description-display-depends-on-a-for-loop-variable/117509>\
**Category:** General Usage\
**Tags:** package, strings, for-loop, string-interpolation\
**Created:** [July 26, 2024, 10:37am UTC](https://discourse.julialang.org/t/make-progressmeter-description-display-depends-on-a-for-loop-variable/117509 "2024-07-26T10:37:58Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![K5Julien](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/k5julien/32/210626_2.png) [@K5Julien](https://discourse.julialang.org/u/K5Julien)\
**Post date:** [July 26, 2024, 10:37am UTC](https://discourse.julialang.org/t/make-progressmeter-description-display-depends-on-a-for-loop-variable/117509/1 "2024-07-26T10:37:58Z")

</div>

The following works well:

```julia
using ProgressMeter
@showprogress dt=1 desc="Computing ..." for c in 1:100_000
    # Some computing
end

```

However, I’d like the description to display some string that depends on `c`:

```julia
using ProgressMeter
@showprogress dt=1 desc="Computing $c..." for c in 1:100_000 # this throws an error
    # Some computing
end

```

Or ideally:

```julia
using ProgressMeter
@showprogress dt=1 desc="Computing $(c % 100 == 0 ? c : "")..." for c in 1:100_000 # this throws an error
    # Some computing
end

```

Is that easily achievable?

---

<div class="post-metadata">

**Author:** ![K5Julien](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/k5julien/32/210626_2.png) [@K5Julien](https://discourse.julialang.org/u/K5Julien)\
**Post date:** [July 26, 2024, 10:45am UTC](https://discourse.julialang.org/t/make-progressmeter-description-display-depends-on-a-for-loop-variable/117509/2 "2024-07-26T10:45:31Z")

</div>

Alright, it was easy actually:

```julia
using ProgressMeter
n = 100_000
prog = Progress(n)
    
for c in 1:n
    next!(prog, desc="Computing $(c % 100 == 0 ? c : "")...")
    # Some computing
end

```

---

<div class="post-metadata">

**Author:** ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Post date:** [July 27, 2024, 8:47am UTC](https://discourse.julialang.org/t/make-progressmeter-description-display-depends-on-a-for-loop-variable/117509/3 "2024-07-27T08:47:23Z")

</div>

I think you might actually want [https://github.com/timholy/ProgressMeter.jl?tab=readme-ov-file#printing-additional-information](https://github.com/timholy/ProgressMeter.jl?tab=readme-ov-file#printing-additional-information)

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [July 27, 2024, 12:49pm UTC](https://discourse.julialang.org/t/make-progressmeter-description-display-depends-on-a-for-loop-variable/117509/4 "2024-07-27T12:49:53Z")

</div>

> [@gdalle](#):
>
> I think you might actually want [https://github.com/timholy/ProgressMeter.jl?tab=readme-ov-file#printing-additional-information](https://github.com/timholy/ProgressMeter.jl?tab=readme-ov-file#printing-additional-information)

For example:

```julia
let n=10^7, prog = Progress(n)
    for c in 1:n
        next!(prog, showvalues=[(:c, c)])
        # Some computing
    end
end

```

![showprogress](https://global.discourse-cdn.com/julialang/original/3X/9/d/9d852a2fd18d439a91c8631e9a09551e4c240f17.webp)

You can also use an arbitrary string, e.g. `next!(prog, showvalues=[("c value", c)])`.
