Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
scala> val CardNumber = """.*card number: (\d+).*""".r
CardNumber: scala.util.matching.Regex = .*card number: (\d+).*
scala> "User { name: Bob; card number: 12345 }" match {
| case CardNumber(cn) => cn
| case _ => "oops"
| }
res0: String = 12345
"%([0-9A-F]{2})".r.replaceAllIn(str, m => Integer.parseInt(m.group(1), 16).toChar.toString)
"%([0-9A-F]{2})".r.replaceAllIn(str, m => Integer.parseInt(m.group(1), 16).toChar.toString.replace("\\", "\\\\").replace("$", "\\$"))
красиво, правда? str =~ rx"%([0-9A-F]{2})" ^^ (x => Integer.parseInt(x, 16).toChar.toString)
число параметров лямбды можно вывести из числа () в regexval
vs var
). Которая в свою очередь означает, что объект вообще нельзя изменить. И это замечательно!const
объектами в C++?
Язык в языке или встраиваем XPath в Scala