获取像这样的字符串F#列表的惯用方法是什么
let myList = ["BUILD_NUMBER"; "GIT_COMMIT"; "GIT_BRANCH"]
并将其转换为Dictionary,其中上面的单词是关键字并且对应的环境变量是值。
所有这些都应该用一个线性表达式或管道表达式来完成吗?我错过了FP背景,不知道如何从列表到字典。F#中最常用的方法是什么?
Environment.GetEnvironmentVariable和dict函数应该完成以下工作:
let env =
myList
|> Seq.map (fun var -> var, Environment.GetEnvironmentVariable var)
|> dict
替代@Sehnsucht的答案:
Environment.GetEnvironmentVariables()已经返回了一个字典,所以如果你不想限制自己使用指定的名称,你可以说:
let d = Environment.GetEnvironmentVariables()
printfn "%s" d.["BUILD_NUMBER"]
如果你在代码中只访问过d.[xxxx](其中xxxx是你在问题中指定的字符串之一),那么就没有理由只为这些名字制作另一本词典。