Mat*_*hew 4 f# records functional-programming list
你如何使用F#中的记录列表?您如何将其作为函数中的参数传递?我想做这样的事情:
type Car = {
Color : string;
Make : string;
}
let getRedCars cars =
List.filter (fun x -> x.Color = "red") cars;
let car1 = { Color = "red"; Make = "Toyota"; }
let car2 = { Color = "black"; Make = "Ford"; }
let cars = [ car1; car2; ]
Run Code Online (Sandbox Code Playgroud)
我需要一种方法来告诉我的功能"汽车"是汽车记录列表.
你的代码工作得很好.它也可以写成:
let getRedCars cars =
List.filter (function {Color = "red"} -> true | _ -> false) cars
Run Code Online (Sandbox Code Playgroud)
如果您曾担心推断出错误的签名,则可以添加类型注释.例如:
let getRedCars (cars:Car list) : Car list = //...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1626 次 |
| 最近记录: |