私は次の関数を定義したいと思います:Elm Arrayから "Nothing"値を除外する方法は?
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
どうもありがとう!私は '>'で最初のバージョンが好きです。 'Array'と' List'との関連性の低い質問:(例えば、[this game](http://fgcos.com/puzzle/barley-break)の)2次元配列を表すモデルを構築するには、それは良いですか? 'Array'sの' Array'を使うのですか? 'List'の特定のインデックスでアイテムを取得する方法が見つかりませんでした。 –
ええ、あなたは間違いなくそのリストを望んでいない、特定の要素を見て非常に遅いです。配列の配列はあなたの最善の策です。 – jmite
クール。ご協力いただきありがとうございます! –