это шаблон конструктора, который не имеет ничего общего с оператором.

ю, что вы можете сделать сопоставление в списках таким образом, как

val list = List(1,2,3)
list match {
  case head::tail => head
  case _ => //whatever
}

поэтому я начал задаваться вопросом, как это работает. Если я правильно понимаю,:: это просто оператор, так что же мешает мне делать что-то вроде

4 match {
  case x + 2 => x //I would expect x=2 here
}

Если есть способ создать такую ​​функциональность, как это сделать; если нет, то почему?

Ответы на вопрос(3)

Ваш ответ на вопрос