> On Apr 22, 2019, at 1:04 PM, Brian Goetz <brian.go...@oracle.com> wrote: > > > > On 4/22/2019 11:26 AM, Jim Laskey wrote: >> >> 2. long count = lines().count(); >> if (count == 1) { >> return strip(); >> } >> >> Single line strings (no line terminators) are simply stripped. >> >> """ single line """ ==> "single line" > > I think we should reconsider this one. The interpretation we settled on is: > we're willing to treat a multi-line string as being a sequence of lines, not > just of characters, and we're willing to strip incidental whitespace that > arises from accidents of how the string is embedded in the program. But a > single-line string doesn't have any of that; I think it should be left alone, > regardless of quotes.
Why didn't they write as single quote string in the first place? Having a """ removing incidentals works in our favour for examples like; """"in quotes"""" vs """ "in quotes" """ > >> >> 3. int outdent = lines().skip(1) ... >> >> Ignoring first line, determine least number of leading whitespaces for all >> non-blank lines. >> >> String s = """ >> ................line 1.. >> ....................line 2. >> """; ==> 16 > > I think we should reconsider whether a non-blank first line means that we > should consider any indentation on the first line too. This has the > likely-beneficial side-effect that having a non-blank character immediately > following the """ effectively means "no stripping." Not sure this is a workable perspective. Opting out this way forces the user into some weird configurations that they have to unmangle to get a useful result. String s = """opt-out line 2 """; Result: opt-out .....................line 2 ..................