В ответ на мой предыдущий вопрос , я постепенно осваиваю FParsec (хотя мне особенно трудно это делать).
Мой следующий вопрос для новичка в F #: как мне извлечь данные из списка, созданного парсером?
Например, я загрузил пример кода из предыдущего вопроса в модуль Parser.fs и добавил очень простой модульный тест в отдельный модуль (с соответствующими ссылками).Я использую XUnit:
open Xunit
[<Fact>]
let Parse_1_ShouldReturnListContaining1 () =
let interim = Parser.parse("1")
Assert.False(List.isEmpty(interim))
let head = interim.Head // I realise that I have only one item in the list this time
Assert.Equal("1", ???)
Интерактивно, когда я выполняю синтаксический анализ "1" ответ:
val it : Element list = [Number "1"]
и путем настройки списка действительныхоператоры, я могу запустить синтаксический анализ "1 + 1" , чтобы получить:
val it : Element list = [Number "1"; Operator "+"; Number "1"]
Что мне нужно поставить вместо моих ??? вфрагмент выше?И как мне проверить, что это номер, а не оператор и т. Д.? 1022 *