Я думаю, вы можете решить эту проблему, расширив Range с помощью шаблона Pimp my Library .
object Extensions {
implicit def RichRange(value: Range) = new {
def withEnd: IndexedSeq[Int] = {
if (value.last != value.end) value :+ value.end
else value
}
}
}
, хотя вы получаете IndexedSeq [Int], а не диапазон , Используйте его как:
import Extensions._
0 to 5 by 2 withEnd // produces 0, 2, 4, 5