F# 옵션을 사용하여 유형 A 목록을 유형 B로 변환

이 문서의 목적은 F#에서 한 형식의 목록을 다른 형식으로 변환하는 방법에 대한 간단한 데모입니다. 헤더에서 'Convert'가 사용되는 동안 이것은 실제로 'map' 기능을 사용하고 완전히 새로운 목록을 반환합니다.

아래 코드는 console application의 .NET 6에 작성되었습니다.

type Person = {
    name: string    
}

type Employee = {
    email: string
}

let ConvertPersonToEmployee
    (person: Person) : Employee =
    {
        email = person.name + "@fsharp.com"
    }

let ConvertPersonListToEmployeeList
    (people: List<Person> option) : List<Employee> option =
    match people with
    | None -> None
    | _ -> people.Value
           |> List.map ConvertPersonToEmployee
           |> Some

[<EntryPoint>]
let main argv =    

    let januaryJoiners : List<Person> option = Some [{ name = "Rob" }; { name = "Bob" }]
    let februaryJoiners : List<Person> option = None

    let januaryEmployees = ConvertPersonListToEmployeeList januaryJoiners
    let februaryEmployees = ConvertPersonListToEmployeeList februaryJoiners

    printfn $"January Employees: {januaryEmployees}"
    printfn $"February Employees: {februaryEmployees}"
    0


산출

January Employees: Some([{ email = "[email protected]" }; { email = "[email protected]" }])
February Employees: 

좋은 웹페이지 즐겨찾기