我需要從F#中第一次出現元素的列表中獲取列表的子集。我一直在使用一個簡單的遞歸程序來實現這一如下:元素列表的子集
// Returns a subset of a list from the first occurrence of a given item
// e.g. ignoreUpTo "B" ["A";"B";"C";"D"] yields ["C"; "D"]
let rec ignoreUpTo item l =
match l with
| hd::tl -> if hd = item then tl else ignoreUpTo item tl
| _ -> []
這適合我的需求,但我不知道是否有更好的方法來做到這一點使用的F#語言的現有列表功能。
什麼是你的,如果列表返回計劃不包含元素;一個空的列表?或者該函數應該返回一個包含在選項中的列表? –
在我的情況下,空列表是好的,因爲這是我明確檢查。 – Russell