I might finish this after I finish UMPL, because making a launguage will help me understand how to do this properly.
Python f-strings for before Python 3.6. using Regex
This package should try to emulate all f-string features
by using a class that inherits from str.
You can also use it to get newer f-string features in earlier versions of Python.
such as: h = 'hello'; f'{h = }'
. the ; is just to denonote the end of a line.
This package requires the re (regular expressions, regex) module.
To my knowledge most versions of Python have re, if not you can use the non regex version
So it should be able to install on any Python version.
Although it's not been tested if thats true because it's not working yet.
Once I implement all the features I will test it across multiple python version and platforms.
>>> from fstringlt36 import f
>>> h = "Hello,"
>>> f("{h} world")
hello world
using the equal operator (I don't know a better name for this and I'm to lazy to look at the document)
>>> from fstringlt36 import f
>>> h = "Hello,"
>>> # instead of doing print(f("h = {h}"))
>>> # you can do print(f("{h = }"))
>>> print(f("{h = }"))
h = 'Hello,'
please note to not call f().f_string_parse()
directly but use the f()
class.
if you try to f_string_parse()
to use directly it will ruin your output and fall back to:
>>> value = 'error: variable ' + string + ' not found'
where value is the replacement string to whatever you put in {}
.
>>> from fstringlt36 import f
>>> var = 'foo'
>>> s = f("{var}")
>>> print(s)
foo
>>> t = s.f_string_parse()
>>> print(t)
error: variable value not found
>>> print(s)
error: variable value not found
# besides for messing up t it will also mess up s because it's a reference to the same object.
Version Number: 0.0.3
Version Stage: alpha