【发布时间】:2014-01-10 18:51:18
【问题描述】:
我是 F# 的新手,并试图在 F# 中重写我们的一个应用程序以尝试在此过程中学习它,但我在扁平化列表时遇到了一些麻烦。我已经搜索并找到了几个答案,但我似乎无法让它们中的任何一个起作用。
我的数据类型是 val regEntries: RegistryKey list list
我希望它只是一个列表。
下面是我的代码:
namespace DataModule
module RegistryModule =
open Microsoft.Win32
let regEntries =
["SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"; "SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"]
|> List.map (fun x -> Microsoft.Win32.Registry.LocalMachine.OpenSubKey(x))
|> List.map(fun k -> List.ofArray(k.GetSubKeyNames()) |> List.map (fun x -> k.OpenSubKey(x)) |> List.filter (fun x -> x.GetValue("ProductId") <> null))
【问题讨论】:
标签: f#