On Sat, May 26, 2018 at 10:55 AM, Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info> wrote: > On Sat, 26 May 2018 08:09:51 +0300, Mikhail V wrote: > >> On Fri, May 25, 2018 at 1:15 PM, bartc <b...@freeuk.com> wrote: > [...] >>> One problem here is how to deal with embedded non-printable characters: >>> CR, LF and TAB might become part of the normal source text, but how >>> about anything else? Or would you only allow text that might appear in >>> a text file where those characters would also cause issues? >> >> This syntax does not imply anything about text. From the editor's POV >> it's just the same as it is now - you can insert anything in a .py file. >> So it does not add new cases to current state of affairs in this regard. >> But maybe I'm not completely understand your question. > > Here is a string assigned to name `s` using Python's current syntax: > > s = "some\ncharacters\0abc\x01\ndef\uFF0A\nhere" > > How do you represent that assignment using your syntax?
Hope its not mandatory to decipher your random example. If for example I'd want to work with a lot of non-presentable characters, I'd use a more human-oriented notation than this ^. And that is exactly where raw strings are needed. So I'd make a readable notation where I can present a character by its ordinal enclosed in some tag for example {10}. Then just write a function which collapses those depending on further needs: data >>| abc{10}def data = f(data) And the notation itself can be chosen depending on my needs. Hope you get the point. > > > And another example: > > s = """this is some text > x = 'a' > y = 'b'""" > t = 'c' > > How do we write that piece of code using your syntax? That's too easy - maybe you can try it yourself? I am not trying to imply anything, but I don't see how this example can cause problems - just put the TQS in a block. >>> Would it then be possible to create a source file PROG2.PY which >>> contains PROG1.PY as a raw string? That is, without changing the text >>> from PROG1.PY at all. >> >> Should be fine, with only difference that you must indent the PROG1.PY >> if it will be placed inside an indented suite. > > Bart said WITHOUT CHANGING THE TEXT. Indenting it is changing the text. I know. So you've decided to share that you also understood this? Good, I'm glad that you understand :-) -- https://mail.python.org/mailman/listinfo/python-list