Given a list that might contain e.g. a string, an integer, a float and a date,
split the list into numbers and non-numbers.
fsharp let (things:obj list) = [ "hello"; 25; 3.14; System.DateTime.Now ]
let isNumber (x:obj) =
match x with
| :? int | :? float | :? byte | :? decimal | :? int16 | :? int64 -> true
| _ -> false
let numbers, nonNumbers = things |> List.partition isNumber
let (things:obj list) = [ "hello"; 25; 3.14; System.DateTime.Now ]
let isNumber (x:obj) =
match x with
| :? int | :? float | :? byte | :? decimal | :? int16 | :? int64 -> true
| _ -> false
let numbers, nonNumbers = things |> List.partition isNumber
Submit a new solution for
fsharp
There are 11 other solutions in
additional languages (
csharp,
erlang,
groovy,
java ...)