有没有更好的方法来编写这个过滤函数?
Is there a better way to write this filter function?
我应该创建一个函数,它接受一个列表和一个范围,并将列表过滤到该数字范围内。这是我目前所拥有的:
let filter_range (nums : int list) (range : int * int) : int list =
match range with
| (a, b) -> if a > b then []
else List.filter (fun (x : int) ->
if a <= x && x <= b then true else false) nums ;;
我觉得这样可以更简洁,欢迎任何建议!
你在这里:
let filter_range nums (lo, hi) =
List.filter (fun x -> lo <= x && x <= hi) nums
我应该创建一个函数,它接受一个列表和一个范围,并将列表过滤到该数字范围内。这是我目前所拥有的:
let filter_range (nums : int list) (range : int * int) : int list =
match range with
| (a, b) -> if a > b then []
else List.filter (fun (x : int) ->
if a <= x && x <= b then true else false) nums ;;
我觉得这样可以更简洁,欢迎任何建议!
你在这里:
let filter_range nums (lo, hi) =
List.filter (fun x -> lo <= x && x <= hi) nums