采取这个简单的例子:
type Foo = { bar : string }
let bars =
[ { bar = "abc" }; { bar = "xyz" } ]
|> List.map (fun x -> x.bar)
// bars is [ "abc"; "xyz" ]
是否可以避免使用无点样式编写lambda?我尝试了下面的变化无济于事:
|> List.map (.bar)
同样的问题适用于对象成员。
open System.IO
let fileNames =
(DirectoryInfo("c:/x").GetFiles())
|> Array.map (fun f -> f.FullName)
我希望将其缩短为类似
|> Array.map (.FullName)