Я читаю коды Scala и обнаружил следующее:
val TimeRegex = """^([0-1]\d|2[0-3]):([0-5]\d):([0-5]\d)$""".r val FilePattern = """^.*/date=(\d{4}-\d\d-\d\d)/([^/]+)(?:\.dat)?\.gz$"""r
В чем разница между r и .r в конце регулярных выражений?Спасибо
r
.r
Результат будет одинаковым - оба вызовут StringLike r метод.
StringLike
Последний использует нотацию Scala "Postfix", см. документацию .Разница только в стиле (компилятор переводит последние в первый), но обратите внимание, что постфиксная запись обычно не рекомендуется.Из документации:
Этот стиль небезопасен и не должен использоваться