Я пытаюсь прочитать в файле, содержащем пары ключ/значение вида:Haskell эквивалент Скале собирать
#A comment
a=foo
b=bar
c=baz
Some other stuff
С различными другими линиями, как это было предложено. Это хочет перейти на карту, с которой я могу найти ключи.
Мой первоначальный подход состоял бы в том, чтобы читать строки и делиться символом '=', чтобы получить [[String]]
. В Scala, я бы затем использовать collect
, который принимает частичную функцию (в данном случае что-то вроде \x -> case x of a :: b :: _ -> (a,b)
и применяет его там, где она определена, выбрасывая значения где неопределен функция. Есть ли у Haskell любой эквивалент этого?
в противном случае, как бы один сделать это в Haskell, либо вдоль моих линий или с использованием лучшего подхода
нотабене 'catMaybes. map parse = mapMaybe parse', где 'mapMaybe' также из Data.Maybe. – dave4420