从字符串中解析纬度和经度对

zou*_*oul 3 elm

我有一个包含纬度/经度对的字符串:

"50.0814253N, 14.4876106E"
Run Code Online (Sandbox Code Playgroud)

我想解析它Maybe (Float, Float).我可以很容易地达到[Just 50.0814253, Just 14.4876106]或类似的东西,但进入决赛Maybe (Float, Float)是相当混乱的.有一个很好的方式List (Maybe Float)来到Maybe (Float, Float)

Dog*_*ert 8

如果您已经拥有[Just 50.0814253, Just 14.4876106]并且想要Maybe (Float, Float),可以使用简单的模式匹配case ... of:

let list = [Just 50.0814253, Just 14.4876106]
in
case list of
  [Just a, Just b] ->
    Just (a, b)
  _ ->
    None
Run Code Online (Sandbox Code Playgroud)