Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I believe the prefixed literals are a direct response to this style of multiline string. The style you showed is pretty common in a programming languages, but language implementers are faces with a tradeoff:

- Keep the initial indentation for each line in the string literal; or

- Track the indentation level and attempt to remove the whitespace for each line.

For a lot of strings, extra whitespace doesn't matter (eg. SQL), but when you don't want it, you end up removing the indentation in the string literal, and having a string like this:

    fn f() {
        text = "This is a decent way to format strings,
    but surely it could be a little nicer indentation-wise,
    right?";
        print(text);
    }
The prefixed lines have the disadvantage of being a pain to use if your editor doesn't have nice multi-line editing like Vim or Sublime. But I think it's a nice option when it's available.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: