1
0

More than 5 years have passed since last update.

初心者Elm入門(その2:文法)

Last updated at Posted at 2019-04-19

はじめに

個人的にちょっと分かりにくかったり、忘れそうだと思った部分を書きます。
cf. Elm Syntax
間違い等あったら優しく(易しく)教えてください。

ちょっと試すのにいいところ

Elm Repl

文法

文字

シングルクオート'a'はChar型
ダブルクオート"abc"はString型
'abc'はエラーになるけど"a"はString型になる。
文字の連結は"abc" ++ "de" (+じゃなくて++)。

リスト

リストは::によって左側に要素を足すことができる。
1 :: 2 :: 3 :: 4 :: []
= 1 :: 2 :: 3 :: [4]
= 1 :: 2 :: [3, 4]
= 1 :: [2, 3, 4]
= [1, 2, 3, 4]

レコード

record = { x = 0, y = 1, z = 2 }

フィールドへのアクセスは
a = record.x とすると
a = 0 となる。

{ record | x = 6 }とすると
{ x = 6, y = 1, z = 2 } となる。

複数書き換えも可能
{ record | x = 5, y = 7 }
{ x = 5, y = 7, z = 2 } となる。

ここでrecordを見てみると{ x = 0, y = 1, z = 2 }となっており、
元のrecordは書き換わっていなくて別のrecordが作成されるようだ。

record2 = { record | x = 9, z = 4} とすると
recordは { x = 0, y = 1, z = 2 }
record2は { x = 9, y = 1, z = 4 }

case

書き方

rank = 2
case rank of
    1 -> "Gold Medal"
    2 -> "Silver Medal"
    3 -> "Bronze Medal"
    _ -> "You Lose..."

上から順に評価される。この場合はrank = 2なので"Silber Medal"となる。
1, 2, 3以外の場合は一番下の"You Lose..."になる。

おわりに

また何かあったら書き足します。

初心者Elmシリーズ

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0