2015-06-20 34 views
1

有相同尺寸的三种不同的序列过滤序列

a:int = {1, 2, 3, 4} 
b:string= {"a","b","a","d"} 
c:string= {"y","y","t","t"} 

我如何从seq:a创建一个新的序列与条件

where b="a" and c="y" 
+1

你应该得到的到底是什么? {1}? –

回答

1
Seq.zip a (Seq.zip b c) 
|> Seq.filter (snd >> ((=) ("a", "y"))) 
|> Seq.map fst 
6
Seq.zip3 a b c 
|> Seq.choose (function (n, "a", "y") -> Some n | _ -> None)