This page covers Elm 0.18
Playersモジュール
Playersメッセージ
src/Players/Messages.elmを作成する。
module Players.Messages exposing (..)
type Msg
    = NoOp
ここでは、プレイヤーに関連するすべてのメッセージを記入します。
Playersモデル
src/Players/Models.elmを作成する。
module Players.Models exposing (..)
type alias PlayerId =
    String
type alias Player =
    { id : PlayerId
    , name : String
    , level : Int
    }
new : Player
new =
    { id = "0"
    , name = ""
    , level = 1
    }
ここでは、プレーヤーのレコードの外観を定義します。 ID、名前、レベルがあります。
PlayerIdの定義にも注意してください。これはStringの単なるエイリアスです。これは、複数のIDを引数に取る関数を後で導入することになった場合にわかりやすくなり便利です。例えば:
addPerkToPlayer : Int -> String -> Player
よりも、次のように書かれているとはるかに明確です。
addPerkToPlayer : PerkId -> PlayerId -> Player
プレーヤーの更新
src/Players/Update.elmを追加する
module Players.Update exposing (..)
import Players.Messages exposing (Msg(..))
import Players.Models exposing (Player)
update : Msg -> List Player -> ( List Player, Cmd Msg )
update message players =
    case message of
        NoOp ->
            ( players, Cmd.none )
このupdateは現時点では何もしません。
これらは、より大きなアプリケーションのすべてのリソースが従う基本パターンです。
Messages
Models
Update
Players
    Messages
    Models
    Update
Perks
    Messages
    Models
    Update
...