エリクシールと関数型プログラミングに新しいので、私はこの構造体から "味"キーをフェッチするいくつかの問題があります。json/structからのエリクシールフェッチのキー/値のペア
json = response.body
icecream = Poison.decode!(json, as: %{"items" => [%Icecream{}]})
Returns:
[%{"items" => [%MyModule.Icecream{size: "Large",
taste: "Pistachio"}]}]
味(「ピスタチオ」)を変数に保存するのは、最も最適化された方法です。
私は啓発されることを楽しみにしています。 :)
ソリューション: が、私はこれで自分自身を思い付いた:パイプを使用して
taste = List.first(icecream["items"]).taste
あなたが選ぶべきアプローチは、エッジケースをどのようにしたいかによって異なります。要素が存在しないときに何が起こりたいのですか(そのケースを扱うのが気になる場合)?例外を発生させたり、nilを返すのが好きですか?他に何か? –
私はそれがいつもそこにあることを期待していますが、私はそれをチェックすることでより良いことに同意します。 – Zahrec