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: 

좋은 웹페이지 즐겨찾기