Tôi đang cố gắng để đọc trong một tập tin chứa các cặp/giá trị quan trọng của hình thức:Haskell tương đương với scala thu thập
#A comment
a=foo
b=bar
c=baz
Some other stuff
Với dòng khác nhau, như đề xuất. Điều này muốn đi vào một bản đồ mà tôi có thể tra cứu các khóa từ đó.
cách tiếp cận ban đầu của tôi sẽ được đọc trong các dòng và chia trên nhân vật '=' để có được một [[String]]
. Trong Scala, sau đó tôi sẽ sử dụng collect
, trong đó có một chức năng một phần (trong trường hợp này một cái gì đó như \x -> case x of a :: b :: _ -> (a,b)
và áp dụng nó, nơi nó được xác định, ném đi các giá trị mà chức năng là không xác định. không đó, làm thế nào người ta sẽ làm điều này trong Haskell, hoặc dọc theo các đường tôi hoặc sử dụng một cách tiếp cận tốt hơn
n.b. 'catMaybes. map parse = mapMaybe parse', trong đó 'mapMaybe' cũng từ Data.Maybe. – dave4420