情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

F#入門(14)リスト

F#の主要なコレクション型はリストと配列です。今回は、リストについて解説します。

リストはF#に組み込まれているコレクション型です。

リストを作成する場合は、下のような記法に従います。リストを構成する要素はセミコロンで区切り、全体を角括弧で囲みます。

let heroine = ["Minette"; "Carina"; "Chelsea"; "Agnes"]

また、リストを連結するための演算子が2つあります。

1つ目は既存のリストに対してその先頭に要素を追加する、::演算子です。下の2行目のように連続して使うこともでき便利です。

let heroine2 = "Minette" :: ["Carina"; "Chelsea"; "Agnes"]

let heroine3 = "Minette" :: "Carina" :: ["Chelsea"; "Agnes"]

2つ目はリストとリストを連結する、@演算子です。

let character = ["Minette"; "Carina"; "Chelsea"; "Agnes"] @ ["Nina"; "Nick"; "Salsa"; "Ritos"; "Nagan"; "Shelley"; "Fabious"; "Fiore"; "Garnet"; "Miriam"; "Aberdeen"; "Avril"]

あるリストに格納する要素は全て同一の型でなければなりません。型が違う場合はエラーとなります。

let list = ["one"; 2]

F#のリストは不変です。一度作成した要素の値を変更することはできません。

以下のように演算子や関数によって返されるリストは基となったリストとは異なる新たなリストです。元のリストは元のリストのまま変わりません。

let heroine = ["Minette"; "Carina"; "Chelsea"; "Agnes"]

let sub = ["Nina"; "Nick"; "Salsa"; "Ritos"; "Nagan"; "Shelley"; "Fabious"; "Fiore"; "Garnet"; "Miriam"; "Aberdeen"; "Avril"]

let character = heroine @ sub

let print_list n x =

    printfn "%s: " n

    printf "  "

    Seq.iter (fun x -> printf "%s " x) x

    printfn ""

print_list "heroine" heroine

print_list "sub" sub

print_list "character" character

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-F#