Убрать отступ строки с тройными кавычками в Purescript? - PullRequest
0 голосов
/ 04 октября 2018

При использовании тройных кавычек в позиции с отступом я наверняка получаю отступ и в выходной строке js:

Сравнивая эти два в вложенном let

let input1 = "T1\nX55.555Y-44.444\nX52.324Y-40.386"
let input2 = """T1
        X66.324Y-40.386
        X52.324Y-40.386"""

, давая

// single quotes with \n
"T1\x0aX55.555Y-44.444\x0aX52.324Y-40.386"

// triple quoted
"T1\x0a        X66.324Y-40.386\x0a        X52.324Y-40.386"

Есть ли в Scala согласованная вещь, такая как stripMargin, чтобы я мог использовать ее без отступа на верхний уровень?

Обновление, просто чтобы уточнить, что я имею в виду, я сейчас делаю:

    describe "header" do
      it "should parse example header" do
        let input = """M48
;DRILL file {KiCad 4.0.7} date Wednesday, 31 January 2018 'AMt' 11:08:53
;FORMAT={-:-/ absolute / metric / decimal}
FMAT,2
METRIC,TZ
T1C0.300
T2C0.400
T3C0.600
T4C0.800
T5C1.000
T6C1.016
T7C3.400
%
"""
        doesParse input header
    describe "hole" do
      it "should parse a simple hole" do
        doesParse "X52.324Y-40.386" hole

Обновление:

Меня попросили уточнить stripMargin от Scala.Он используется так:

val speech = """T1
                |X66.324Y-40.386
                |X52.324Y-40.386""".stripMargin

, который затем удаляет начальные пробелы.stripMargin может принимать любой разделитель, но по умолчанию используется |.

Дополнительные примеры:

Rust имеет https://docs.rs/trim-margin/0.1.0/trim_margin/ Kotlin имеет в stdlib: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/trim-margin.html

Я думаю, это может звучать так, будто я спрашиваю о левой клавиатуре (:)), но если что-то уже есть, я бы не стал сам варить…

...