.r vs r в регулярном выражении scala - PullRequest
0 голосов
/ 05 июня 2018

Я читаю коды 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 в конце регулярных выражений?Спасибо

1 Ответ

0 голосов
/ 05 июня 2018

Результат будет одинаковым - оба вызовут StringLike r метод.

Последний использует нотацию Scala "Postfix", см. документацию .Разница только в стиле (компилятор переводит последние в первый), но обратите внимание, что постфиксная запись обычно не рекомендуется.Из документации:

Этот стиль небезопасен и не должен использоваться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...