Итератор toIndexedSequence длина не соответствует длине интегратора - PullRequest
0 голосов
/ 02 марта 2020

Я сталкиваюсь со странной ошибкой при вызове toIndexedSequence на итераторе. Длина итератора равна 81, но длина результирующей indexedSequence равна 257. Когда я печатаю indexedSequence, я получаю два вектора. Первый - правильная длина 81, а второй - 257. Я не уверен, почему он печатает два вектора. Второй, кажется, добавляет нули между моими элементами.

def apply(source: scala.io.Source): Sudoku = {
    val vec = for( x <- source.toVector if !isWhiteSpace(x) ) yield { if( x>='1' && x<='9') x - 48 else 0 }
    println( vec )
    new Sudoku(vec)
  }
  def isWhiteSpace( char: Char ):Boolean = char == (' ' | '\n')


ouput:
Vector(9, 0, 0, 0, 8, 3, 0, 1, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 6, 0, 5, 0, 0, 0, 1, 0, 4, 0, 3, 0, 0, 0, 6, 0, 9, 0, 0, 7, 0, 0, 0, 0, 9, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 4, 0, 5, 2, 0, 0, 0, 6)
Vector(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0)

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