2 ms·
C# solves this so elegantly string text = """ This is a long comment But I can split it And keep my indentation. """;
by metaltyphoon 1mo ago
C# solves this so elegantly
string text = """
This is a long comment
But I can split it
And keep my indentation.
""";
- Rendello 1mo agoI 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.