Program > JavaScript > AltJS > Elm > Elmガイド > Elmアーキテクチャー > テキストフィールド
#code(haskell){{
import Browser
import Html exposing (Html, Attribute, div, input, text)
import Html.Attributes exposing (..)
import Html.Events exposing (onInput)
main =
Browser.sandbox { init = init, update = update, view = view }
type alias Model =
{ content : String }
init : Model
init =
{ content = "" }
type Msg
= Change String
update : Msg -> Model -> Model
update msg model =
case msg of Change newContent -> { model | content = newContent }
view : Model -> Html Msg
view model =
div [] [ input [ placeholder "Text to reverse", value model.content, onInput Change ] [] , div [] [ text (String.reverse model.content) ] ]
}}
うーん、なんか分かりづらいなー。
文字列を反転させる処理は、どこに入っているんだろう?と思ったけど、
view関数の中に「(String.reverse model.content)」という記述があって、
なんか場所が変じゃね?と思いました。
UPDATEが「状態の更新」なら、そこに置いてある方が自然な感じがすると思うんだけど、どうなんだろ?
今の段階では、あまり深く考え込まないで、Elmガイドを先に読み進めてみます。