Сравнение шаблонов Scala с типами кортежей - PullRequest
0 голосов
/ 17 ноября 2018

Следующий метод выдает ошибку, даже не вызывая ее.

type Checklist = (Int,String,Boolean)
  def higherthan(a: Checklist,b:Checklist) : Boolean = (a._1,b._1) match {
    case a._1 >= b._1 => true
    case a._1 < b._1 => false
    case _ => false
}

Ошибка выглядит следующим образом:

Error:(3, 14) not found: value >=case a._1 >= b._1 => true

невозможно получить доступ к элементам кортежей из шаблонасоответствия?Я хочу проверить, какой из первых элементов контрольного списка больше.Извините за любые ошибки, английский не мой родной язык, и я студент первого курса.

1 Ответ

0 голосов
/ 17 ноября 2018

Есть несколько способов:

def higherthan(a: Checklist, b: Checklist) : Boolean = (a , b) match {
  case (x, y) if x._1 >= y._1 => true
  case _ => false
}

def higherthan(a: Checklist, b: Checklist) : Boolean = (a , b) match {
  case ((x, _, _), (y, _, _)) if x >= y => true
  case _ => false
}

def higherthan(a: Checklist, b: Checklist) : Boolean = a._1 >= b._1

Надеюсь, одна из этих подсказок.

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