Tests run: 10 Iterations/test: 100 ----------------------------------------------------------------------------- Basic Test FsSolution - Basic : MIN: 8.4053 ms | MAX 14.0585 ms | AVG 10.4869 ms PreCompiledFsSolution - Basic : MIN: 7.2594 ms | MAX 10.2251 ms | AVG 8.18209 ms Bonus Test FsSolution - Bonus : MIN: 8.2866 ms | MAX 11.5506 ms | AVG 9.42119 ms PreCompiledFsSolution - Bonus : MIN: 7.4998 ms | MAX 12.9918 ms | AVG 8.99166 ms Tests run: 10 Iterations/test: 1000 ----------------------------------------------------------------------------- Basic Test FsSolution - Basic : MIN: 88.4249 ms | MAX 93.8609 ms | AVG 90.9543 ms PreCompiledFsSolution - Basic : MIN: 78.6023 ms | MAX 93.5715 ms | AVG 83.0625 ms Bonus Test FsSolution - Bonus : MIN: 87.9642 ms | MAX 99.3946 ms | AVG 91.8193 ms PreCompiledFsSolution - Bonus : MIN: 78.3943 ms | MAX 98.3158 ms | AVG 83.7617 ms
Statistics ---------- Tests run: 10 Iterations/test: 100 ----------------------------------------------------------------------------- F# Solution - Basic: MIN = 2.6989, MAX = 3.2336, AVG = 2.78732 F# Solution - Bonus: MIN = 2.8122, MAX = 3.1169, AVG = 2.8664 Statistics ---------- Tests run: 10 Iterations/test: 1000 ----------------------------------------------------------------------------- F# Solution - Basic: MIN = 25.4413, MAX = 27.2665, AVG = 25.8091 F# Solution - Bonus: MIN = 28.5614, MAX = 30.4572, AVG = 29.0724
string option
Some string
filterAWord
let filterAWord (filters:(string -> string option) seq) (word:string) = filters |> Seq.map (fun filter -> filter word) |> Seq.find Option.isSome |> Option.get