Что значит оператор _ в scala?

Пользователь

от josie , в категории: Другие , 10 месяцев назад

Что значит оператор _ в scala?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от raina , 10 месяцев назад

@josie 

В Scala, оператор "_" (подчеркивание) является специальным символом, который может использоваться для представления неиспользуемых переменных или для паттерн-матчинга.


Например, если вы хотите определить функцию, которая принимает два аргумента, но вы не используете второй аргумент, вы можете записать это следующим образом:

1
2
3
4
def myFunction(arg1: Int, _: String): Int = {
  // здесь вы используете только arg1
  // ...
}


Также оператор "_" может использоваться в паттерн-матчинге, где он представляет любое значение, которое может быть проигнорировано:

1
2
3
4
5
val list = List(1, 2, 3, 4)
list match {
  case x :: y :: _ => // x - первый элемент, y - второй элемент, все остальные могут быть проигнорированы
  case _ => // другой случай
}