我一直在使用Visual Studio 2010中的F#.我是一名开发人员,在面向对象语言(如C#和Java)方面拥有更多的代码/架构设计经验.
为了扩展我的技能并帮助做出更好的决策,我尝试使用不同的语言来做不同的事情.特别是使用函数语言(在这种情况下为F#)"正确"编码.
一个简单的例子是生成一些XML,然后添加一些过滤器来消除一些元素.
这是我的代码:
open System
open System.Xml.Linq
let ppl:(string * string) list = [
("1", "Jerry");
("2", "Max");
("3", "Andrew");
]
/// Generates a Person XML Element, given a tuple.
let createPerson (id:string, name:string) = new XElement(XName.Get("Person"),
new XAttribute(XName.Get("ID"), id),
new XElement(XName.Get("Name"), name)
)
/// Filter People by having odd ID's
let oddFilter = fun (id:string, name:string) -> (System.Int32.Parse(id) % 2).Equals(1)
/// Open filter which will return all people
let allFilter = fun (id:string, name:string) -> true …Run Code Online (Sandbox Code Playgroud)