6 ms·
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 l
by Rendello 17d ago
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.