Elm文法メモ その2
Elm文法メモ第二弾。
let式
let ~のインデント内で変数を束縛できて、in ~ の値が返ってくる。let内にスコープが限られているため、外からはlet内で定義した変数は参照できない。
import Graphics.Element exposing(show) -- let式 sentence = let beer = "pilzner" verb = " is good." in beer ++ verb main = sentence |> show -- "pilzner is good."
型エイリアス
型に別名を付けられる。
import Graphics.Element exposing(show) -- 型エイリアス type alias Beer = String drink:Beer drink = "pilzner" main = drink |> show -- "pilzner"
マッピング
Elmには独自の型であるSignalというものがある。イベントの時間推移のような存在で(いわゆるストリーム)、これに関数を適用する際、Signal.mapを利用できる。糖衣構文として'<~'という書き方も可能。
import Graphics.Element exposing(show) import Mouse import Signal exposing((<~), (~)) -- マッピング pos : Signal.Signal Int pos = Signal.map (\x -> x * x) Mouse.x main = -- このようにも書ける show <~ pos -- マウスのx軸の値が表示される