シーケンス式の概要
シーケンス式(= seq式)は、seq型に評価されるコンピュテーション式のことです。シーケンス式を利用することで, PythonやHaskellでいうところのリスト内包表記に似たようなことが実現できます。
// [ 構文 ]
seq { expression }
構文の「expression」には、シーケンスを生成するための構文を指定することができます。最も簡単な方法は範囲値をそのまま指定することです。
以下は, 範囲を指定してseq型を生成するサンプルになります。
上記の他に、yieldキーワードやfor..in式を利用した生成の方法があります。
サンプルでみるシーケンス式
以下はさまざまなシーケンス式のサンプルになります。
do yield
「 do yield 」キーワードは、for..in式と組み合わせることによって、シーケンスの一部となる値を生成することができます。また、「 do yield 」の代わりに「 -> 」演算子を利用することも可能です。
seq式の中で for..in式を多重利用することも可能です。
if によるフィルタ
seq式の中で利用されるif式は、フィルターの役割を担っています。たとえば、奇数のみのシーケンスを生成するには、以下のようにfor..in式とif式を組み合わせることで実現可能です。Seqモジュール
シーケンスに対して様々な操作をする便利なモジュールがF#には用意されています。それがSeqモジュールです。シーケンスの中から特定の値を検索したり、シーケンスを特定の条件でフィルタリングして新たなシーケンスを作成したりすることができます。詳しくはこちらを参考にしてみてください。