Skip to content

Conversation

@andrastantos
Copy link

Hello!

I needed a way to lazy-evaluate f-strings and I have found your library to be an excellent starting point. However, I needed to add a small modification (retaining of the calling scope) to make this feature functional.

In this commit you'll find a new version of 'f', 'lazy_f', which performs this lazy evaluation.

Thanks again for the great work!
Andras

The original attempt at just making 'f'
lazy doesn't quite work: it changes
the return type, which is then blows
up in all kinds of ways in the unit-tests.

This version introduces another variant
that evaluates on the first conversion
to 'str', then caches the result.

Some unit-tests are added to test
scope-preservation and caching
behavior.
@ucodery
Copy link
Owner

ucodery commented Sep 3, 2024

An interesting idea. I am still considering the implications, but noting here for you and future me that this would mirror the not-as-of-now-added fl string in CPython python/cpython#77135

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants