Collections.Seq 模組 (F#)
可列舉序列的基本作業。
命名空間/模組路徑: Microsoft.FSharp.Collections
組件:FSharp.Core (在 FSharp.Core.dll 中)
module Seq
備註
如需 F# 中函式的概觀,請參閱序列 (F#)。
值
值 |
說明 |
---|---|
append : seq<'T> -> seq<'T> -> seq<'T> |
將兩個指定的列舉包裝成單一串連列舉。 |
average : seq<^T> -> ^T |
傳回序列中每個項目的平均值。 |
averageBy : ('T -> ^U) -> seq<'T> -> ^U |
傳回將函式套用至序列的每個項目後所產生的結果平均值。 |
cache : seq<'T> -> seq<'T> |
傳回序列,這個序列對應至輸入序列的快取版本。 |
cast : IEnumerable -> seq<'T> |
換行鬆散輸入 System.Collections順序為 具型別順序。 |
choose : ('T -> 'U option) -> seq<'T> -> seq<'U> |
將指定的函式套用至清單的每一個項目。 傳回清單中的每個項目的結果所組成,此函式會傳回 Some |
collect : ('T -> 'Collection) -> seq<'T> -> seq<'U> |
將指定的函式套用至序列的每個項目,並串連所有結果。 |
compareWith : ('T -> 'T -> int) -> seq<'T> -> seq<'T> -> int |
使用指定的比較函式,逐一比較兩個序列的每個項目。 |
concat : seq<'Collection> -> seq<'T> |
將指定之列舉的列舉結合成單一串連的列舉。 |
countBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * int> |
將索引鍵產生函式套用至序列的每個項目,並傳回一個序列,這個序列包含唯一索引鍵和這些索引鍵在原始序列中出現的次數。 |
delay : (unit -> seq<'T>) -> seq<'T> |
傳回序列,這個序列是從指定的延遲序列規格所建置。 |
distinct : seq<'T> -> seq<'T> |
傳回序列,根據項目上的泛型雜湊和等式比較,這個序列不包含重複的項目。 如果一個項目在序列中出現數次,則之後出現的該項目都會遭捨棄。 |
distinctBy : ('T -> 'Key) -> seq<'T> -> seq<'T> |
傳回序列,根據索引鍵 (由指定之索引鍵產生函式所傳回) 上的泛型雜湊和相等比較,這個序列不包含重複的項目。 如果一個項目在序列中出現數次,則之後出現的該項目都會遭捨棄。 |
empty : seq<'T> |
建立空序列。 |
exists : ('T -> bool) -> seq<'T> -> bool |
測試序列的任何項目是否滿足指定的述詞。 |
exists2 : ('T1 -> 'T2 -> bool) -> seq<'T1> -> seq<'T2> -> bool |
測試輸入序列之所有對應的成對項目是否都滿足指定的述詞。 |
filter : ('T -> bool) -> seq<'T> -> seq<'T> |
傳回新集合,其中僅包含原本集合中讓指定的述詞傳回 true 的集合項目。 |
find : ('T -> bool) -> seq<'T> -> 'T |
傳回第一個指定之函式會傳回 true 的項目。 |
findIndex : ('T -> bool) -> seq<'T> -> int |
傳回第一個讓所指定函式傳回 true 的項目的索引。 |
fold : ('State -> 'T -> 'State) -> 'State -> seq<'T> -> 'State |
將函式套用至集合的每一個項目,以透過計算建立累計值引數的執行緒。 如果輸入的函式是 f和各個元素,是 i0...iN,然後這個函式會計算 f (... (f s i0)...) iN |
forall : ('T -> bool) -> seq<'T> -> bool |
測試序列的所有項目是否都滿足所指定的述詞。 |
forall2 : ('T1 -> 'T2 -> bool) -> seq<'T1> -> seq<'T2> -> bool |
測試從兩個序列中取出的所有成對項目是否都滿足指定的述詞。 如果一個序列較另一個短,則較長序列中多的項目都會遭忽略。 |
groupBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * seq<'T>> |
將索引鍵產生函式套用至序列的每個項目,並產生唯一索引鍵的序列。 每個唯一索引鍵也會包含符合這個索引鍵之所有項目的序列。 |
head : seq<'T> -> 'T |
傳回序列的第一個項目。 |
init : int -> (int -> 'T) -> seq<'T> |
會產生新的序列的項目,逐一查看時傳回連續的項目,藉由呼叫指定的函數到給定的計數。 呼叫函式的結果並不會儲存、 重新也就是在函式套用必要時重新產生項目。 所產生之項目的索引會傳遞給這個函式。 |
initInfinite : (int -> 'T) -> seq<'T> |
產生新的序列,如果反覆執行這個序列,即會呼叫指定的函式來傳回後續項目。 呼叫函式的結果並不會儲存,也就是在函式會重新套用視重新產生項目。 所產生之項目的索引會傳遞給這個函式。 |
isEmpty : seq<'T> -> bool |
測試是否序列中有任何項目。 |
iter : ('T -> unit) -> seq<'T> -> unit |
將指定的函式套用至集合的每一個項目。 |
iter2 : ('T1 -> 'T2 -> unit) -> seq<'T1> -> seq<'T2> -> unit |
將指定的函式同時套用至兩個集合。 如果一個序列較另一個短,則較長序列中多的項目都會遭忽略。 |
iteri : (int -> 'T -> unit) -> seq<'T> -> unit |
將指定的函式套用至集合的每一個項目。 傳遞給這個函式的整數表示項目的索引。 |
length : seq<'T> -> int |
傳回序列的長度。 |
map : ('T -> 'U) -> seq<'T> -> seq<'U> |
建立新的集合,其元素會將提供的函式套用至每個集合的元素的結果。 指定的函式都是透過在列舉程式 (擷取自物件) 上使用 MoveNext 方法要求下一個項目來進行套用。 |
map2 : ('T1 -> 'T2 -> 'U) -> seq<'T1> -> seq<'T2> -> seq<'U> |
建立新的集合,其元素會將提供的函式套用至對應的組的項目,從兩個序列的結果。 如果一個輸入序列比另一個短,則會忽略較長序列中的其餘項目。 |
mapi : (int -> 'T -> 'U) -> seq<'T> -> seq<'U> |
建立新的集合,其元素會將提供的函式套用至每個集合的元素的結果。 傳遞給這個函式的整數索引表示要進行轉換之項目的索引 (從 0 開始)。 |
max : seq<'T> -> 'T |
傳回最大的使用 的 Operators.max 的比較序列的所有項目。 |
maxBy : ('T -> 'U) -> seq<'T> -> 'T |
傳回最大的比較函式的結果上使用 的 Operators.max 序列的所有項目。 |
min : seq<'T> -> 'T |
傳回最低的使用 的 Operators.min 的比較序列的所有項目。 |
minBy : ('T -> 'U) -> seq<'T> -> 'T |
傳回最低的比較函式的結果上使用 的 Operators.min 序列的所有項目。 |
nth : int -> seq<'T> -> 'T |
計算 第 n 個 元素集合中。 |
ofArray : 'T array -> seq<'T> |
將指定的陣列做為序列檢視。 |
ofList : 'T list -> seq<'T> |
將指定的清單做為序列檢視。 |
pairwise : seq<'T> -> seq<'T * 'T> |
傳回序列,這個序列包含輸入序列中的每個項目和該項目的前一個項目,但唯獨第一個項目是例外,第一個項目只會做為第二個項目的前一個項目傳回。 |
pick : ('T -> 'U option) -> seq<'T> -> 'U |
套用指定函式傳回第一個值,則函數會傳回其中一個 連續元素到 Some值 |
readonly : seq<'T> -> seq<'T> |
建立新的順序物件,委派給特定的順序物件。 這可確保型別轉換無法重新探索和轉換原始的序列。 例如,如果指定陣列,則傳回的序列會傳回該陣列的元素,但您無法將傳回的序列物件轉換為陣列。 |
reduce : ('T -> 'T -> 'T) -> seq<'T> -> 'T |
將函式套用至序列的每一個項目,以透過計算建立累計值引數的執行緒。 先從將函式套用至前兩個項目開始。 然後將這個結果與第三個項目一併輸入函式,依此類推。 傳回最終結果。 |
scan : ('State -> 'T -> 'State) -> 'State -> seq<'T> -> seq<'State> |
Seq.fold 但會隨選的計算,並傳回中繼和最終結果的順序一樣。 |
singleton : 'T -> seq<'T> |
傳回只產生一個項目的序列。 |
skip : int -> seq<'T> -> seq<'T> |
傳回序列中略過指定的基礎序列的項目數目,然後產生序列的其餘的項目。 |
skipWhile : ('T -> bool) -> seq<'T> -> seq<'T> |
傳回序列,如果重複執行,則這個序列會在指定的述詞傳回 true 時略過基礎序列的項目,然後產生序列的其餘項目。 |
sort : seq<'T> -> seq<'T> |
產生依索引鍵排序的序列。 |
sortBy : ('T -> 'Key) -> seq<'T> -> seq<'T> |
將索引鍵產生函式套用至序列的每個項目,並產生依索引鍵排序的序列。 的 Operators.compare 所實作的方式,使用一般的比較,被比較索引鍵。 |
sum : seq<^T> -> ^T |
傳回序列中的項目總和。 |
傳回將函式套用至序列的每個項目所產生之結果的總和。 |
|
take : int -> seq<'T> -> seq<'T> |
傳回第一個項目,一直到指定的次數序列。 |
takeWhile : ('T -> bool) -> seq<'T> -> seq<'T> |
傳回序列,若反覆執行此序列,則當指定的述詞傳回 true 時,此序列會產生基礎序列的項目,然後不會傳回其他項目。 |
toArray : seq<'T> -> 'T [] |
從指定集合中建立陣列。 |
toList : seq<'T> -> 'T list |
從指定集合中建立清單。 |
truncate : int -> seq<'T> -> seq<'T> |
傳回序列時列舉傳回沒有其他比指定的項目數。 |
tryFind : ('T -> bool) -> seq<'T> -> 'T option |
傳回第一個項目,為其提供的函式會傳回 true,或 None如果沒有這類項目存在 |
tryFindIndex : ('T -> bool) -> seq<'T> -> int option |
傳回序列中符合指定的述詞或 中的第一個項目的索引 None如果沒有這類項目存在 |
tryPick : ('T -> 'U option) -> seq<'T> -> 'U option |
套用指定函式傳回第一個值,則函數會傳回其中一個 連續元素到 Some值 |
unfold : ('State -> 'T * 'State option) -> 'State -> seq<'T> |
傳回序列,這個序列包含指定的計算所產生的項目。 |
windowed : int -> seq<'T> -> seq<'T []> |
傳回序列,這個序列會為從輸入序列取出的包含項目產生滑動視窗。 每個傳回的視窗都是最新的陣列。 |
zip : seq<'T1> -> seq<'T2> -> seq<'T1 * 'T2> |
將兩個序列合併成一份配對清單。 這兩個序列的長度不必相等:當其中一個序列已用盡時,會忽略另一個序列中的剩餘項目。 |
zip3 : seq<'T1> -> seq<'T2> -> seq<'T3> -> seq<'T1 * 'T2 * 'T3> |
將三個序列合併為三重清單。 序列的長度不一定要一樣長:在用完其中一個序列時,會忽略其他序列中的任何其餘項目。 |
平台
Windows 7、Windows Vista SP2、Windows XP SP3、Windows XP x64 SP2、Windows Server 2008 R2、Windows Server 2008 SP2、Windows Server 2003 SP2
版本資訊
F# 執行階段
支援版本:2.0、4.0
Silverlight
支援版本:3