带值字典的环境变量列表 - 惯用语 F#
List of Environment Variables to Dictionary with Values - Idiomatic F#
采用 F# 字符串列表的惯用方法是什么
let myList = ["BUILD_NUMBER"; "GIT_COMMIT"; "GIT_BRANCH"]
并将其转换为字典,其中上面的单词是键,相应的环境变量是值。
所有这些都应该在一行或管道表达式中完成吗?我缺少 FP 背景以了解如何从列表转到字典。在 F# 中执行此操作最惯用的方法是什么?
Environment.GetEnvironmentVariable and the dict 函数应该完成工作:
let env =
myList
|> Seq.map (fun var -> var, Environment.GetEnvironmentVariable var)
|> dict
替代@Sehnsucht 的回答:
Environment.GetEnvironmentVariables() 已经 returns 一本字典,所以如果您不想将自己局限于您指定的名称,您可以说:
let d = Environment.GetEnvironmentVariables()
printfn "%s" d.["BUILD_NUMBER"]
如果您只在代码中访问过 d.[xxxx](其中 xxxx 是您在问题中指定的字符串之一),则可以说没有理由只为这些名称创建另一个字典。
采用 F# 字符串列表的惯用方法是什么
let myList = ["BUILD_NUMBER"; "GIT_COMMIT"; "GIT_BRANCH"]
并将其转换为字典,其中上面的单词是键,相应的环境变量是值。
所有这些都应该在一行或管道表达式中完成吗?我缺少 FP 背景以了解如何从列表转到字典。在 F# 中执行此操作最惯用的方法是什么?
Environment.GetEnvironmentVariable and the dict 函数应该完成工作:
let env =
myList
|> Seq.map (fun var -> var, Environment.GetEnvironmentVariable var)
|> dict
替代@Sehnsucht 的回答:
Environment.GetEnvironmentVariables() 已经 returns 一本字典,所以如果您不想将自己局限于您指定的名称,您可以说:
let d = Environment.GetEnvironmentVariables()
printfn "%s" d.["BUILD_NUMBER"]
如果您只在代码中访问过 d.[xxxx](其中 xxxx 是您在问题中指定的字符串之一),则可以说没有理由只为这些名称创建另一个字典。