2017-08-06 6 views
4

"Seq"、 "seq"をいつ使うことができるのかわからないときは心配です。どのようなデフェレンスがあるのか​​教えていただけますか?"seq"で "Seq"を定義しているのはどちらですか?

これは私のコードです。なぜ "seq"を使わないのですか?

let s = ResizeArray<float>() 
s.Add(1.1) 
s.Add(2.2) 
s.Add(3.3) 
s.Add(4.4) 
s |> Seq.iter (fun x -> printfn("%f") x) 
+0

seq { yield 1; yield 2 } 
[配列](https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/シーケンス) –

答えて

2

大文字のSeqは、型名以外のすべての場合に使用します。たとえば :

let (x:seq<int>) = 
    [1..10] 
    |> Seq.map (fun t -> t + 1) 

編集:私の答えは不完全であるとして、お勧めの回答を参照してください。

Seq
+0

そして "seq"?いつあなたはそれを使うことができますか? –

+0

@ AIRO2001 'seq'それは' System.Collections.Generic.IEnumerable'のエイリアスなので、 'type seq <'T> = System.Collections.Generic.IEnumerable <'T>' –

8

seq値で動作する機能を含むモジュールである。

Seq.map string [ 1; 2 ] 
Seq.sum [ 1; 2 ] 

seqは、タイプ名:

let f1 (xs : seq<int>) =() 
let f2 (xs : int seq) =() 

seqも変換する関数でありますtypへのリストのようなものE seq

seq [ 1; 2 ] 

seq { ... }computation expressionある:

関連する問題