Существуют методы min
и max
, определенные в GenTraversableOnce
и, таким образом, доступные для последовательностей.Вы можете использовать их как:
scala> List(1, -4, 0).min
resN: -4
Также есть min
и max
, определенные в RichInt
, которые работают как операторы для всего, что может быть преобразовано в RichInt
, как правило, ваши ванильные целые числа:
scala> -4 min 0
resN: -4
Итак, если вам нужно что-то, что возвращает ваш номер, скажите x
, если x
больше 0
и 0
в противном случае, вы можете написать:
scala> x max 0
Это означает, что вы можете переписать сопоставление с образцом следующим образом:
chartTemplate.setAttribute("totalBreaks", total_breaks max 0)
Для вашего второго вопроса _
и i
- это допустимые шаблоны, которые будут соответствовать чему угодно.Разница в том, что в первом случае вы не привязываете то, что вы сопоставили с переменной.Использование println(_)
неправильно, хотя;как таковой, он соответствует анонимной функции, которая печатает свой первый аргумент.Поэтому, если вы не хотите повторять выражение (4 + 5)
, вам действительно следует написать свой шаблон и код в виде:
case i => println(i)