做电脑钱整整几个小时终于搞懂了F#中的递归!
终点是要把当前获得的值,加入到记录中并且传递到下一次的递归中。
附上一小段F# 代码
let originList = newList
let rec checkElemet originList newList=
match originList with
| head::tail -> checkElemet tail (List.filter(fun element -> element % 3 =0) newList)
| [] -> newList
代码的意思是 原始和新列表完全相同。工作是将原始列表中能被三整除的的数字在新的列表中剔除。
重点:将已经剔除过元素的newList 送到下一次的checkElement 的递归中!