Я хотел бы определить следующую функцию:
compactAndConvertToList : Array (Maybe String) -> List String
Эта функция должна удалить все появления Nothing
в данном массиве и преобразовать его в List
.
Я придумал решение ниже, но оно кажется немного грязным.
Есть ли лучший способ добиться этого?
import Graphics.Element exposing (..)
import Array
model : Array.Array (Maybe String)
model = Array.fromList [ Just "Hello", Just "Stack", Nothing, Just "Overflow" ]
compactAndConvertToList : Array.Array (Maybe String) -> List String
compactAndConvertToList maybeStrings =
maybeStrings
|> Array.filter (\x -> x /= Nothing)
|> Array.map (Maybe.withDefault "")
|> Array.toList
main =
model
|> compactAndConvertToList
|> show
Maybe String
это будет интерпретироваться как два отдельных аргумента дляArray
. - person Dull Bananas   schedule 04.08.2020