Zulip Chat Archive
Stream: general
Topic: escaping `{` in interpolated strings
Jason Gross (Feb 28 2025 at 20:37):
Is there a way to get curly braces in interpolated strings? In python I'd write f"{{{foo}}}stuff" to get foo + "stuff", but this doesn't seem to work in Lean with s!"{{{foo}}}stuff"? And https://lean-lang.org/doc/reference/latest//Basic-Types/Strings/#string-interpolation doesn't seem to mention anything
Eric Wieser (Feb 28 2025 at 20:42):
s!"{foo}stuff" should mean the same thing as foo + "stuff"
Jason Gross (Feb 28 2025 at 20:43):
Oops, I meant to say that I wanted to know how to get "{" + foo + "}" + stuff
Eric Wieser (Feb 28 2025 at 20:44):
I guess{"{"} works
Thomas Murrills (Feb 28 2025 at 20:45):
s!"\{{foo}}stuff" works too, I believe (assuming you still want to interpolate foo, right?)
Jason Gross (Feb 28 2025 at 20:49):
Thank you! It seems that s!"\{{foo}}stuff works but the VSCode syntax highlighter doesn't highlight it correctly?
Thomas Murrills (Feb 28 2025 at 20:51):
Ooh, that's true...
For anyone who wants to see, here it is on web:
import Lean
run_cmd Lean.logInfo s!"\{{1+1}}"
Last updated: May 02 2025 at 03:31 UTC