Объединение макросов с библиотекой nom

Я пытаюсь использовать библиотеку nom для разбора строки FEN. Я использовал alt! макрос для объединения трех меньших комбинаторов, которые работают с одним символом. Теперь я хотел бы использовать этот же комбинатор для разбора строки символов в вектор.

Я пытаюсь использовать many1! комбинатор для извлечения 1 или более fen_char. Я предполагал, что это сработает, и я попробовал некоторые другие варианты, которые, похоже, не сработали.

named!(fen_chars<Vec<FENChar>>, many1!(fen_char));
let (_, x) = fen_chars(b"RNBQKBNR").unwrap();

assert_eq!(x.len(), 8);
assert_eq!(x[0], FENChar::Piece(Piece::Rook, Color::White));

Когда я запускаю это, я получаю ошибочную опцию со значением Incomplete(Size(1)), Я не уверен, что с этим делать.

0 ответов

Другие вопросы по тегам