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