def uq
(args
: Any
*) = dedup
(sc.
standardInterpolator(treatEscapes, args
)) }
def dedup
(s
: String
): String
= { s.foldLeft(List[Char]()) {
case all
@ (`chr`
:: rest
) => all
}
}.reverse.mkString
}
println(dedup("aabbcc"))
println(dedup("hhhxxxxxhfgffhh"))
println(uq"aabbcc")
println(uq"hhhxxxxxhfgffhh")
}
b2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewogIGltcGxpY2l0IGNsYXNzIHNoaW55SW50ZXJ2aWV3RGVkdXAocHJpdmF0ZSB2YWwgc2M6IFN0cmluZ0NvbnRleHQpIHsKICAgIGltcG9ydCBzY2FsYS5TdHJpbmdDb250ZXh0Ll8KICAgIGRlZiB1cShhcmdzOiBBbnkqKSA9IGRlZHVwKHNjLnN0YW5kYXJkSW50ZXJwb2xhdG9yKHRyZWF0RXNjYXBlcywgYXJncykpCiAgfQoKICBkZWYgZGVkdXAoczogU3RyaW5nKTogU3RyaW5nID0gewogICAgcy5mb2xkTGVmdChMaXN0W0NoYXJdKCkpIHsKICAgICAgY2FzZSAoYWNjdW0sIGNocikgPT4KICAgICAgICBhY2N1bSBtYXRjaCB7CiAgICAgICAgICBjYXNlIE5pbCA9PiBjaHIgOjogTmlsCiAgICAgICAgICBjYXNlIGFsbCBAIChgY2hyYCA6OiByZXN0KSA9PiBhbGwKICAgICAgICAgIGNhc2Ugc2VxID0+IGNociA6OiBzZXEKICAgICAgICB9CiAgICB9LnJldmVyc2UubWtTdHJpbmcKICB9CgogIHByaW50bG4oZGVkdXAoImFhYmJjYyIpKQogIHByaW50bG4oZGVkdXAoImhoaHh4eHh4aGZnZmZoaCIpKQoKICBwcmludGxuKHVxImFhYmJjYyIpCiAgcHJpbnRsbih1cSJoaGh4eHh4eGhmZ2ZmaGgiKQp9