Wyświetlaj nowe wartości z istniejącej wartości

Piszę swój pierwszy program F #, celem jest po prostu nauczenie się F #.

Chcę podać listę dat i atrybutów (np. DayOfWeek, DayOfMonth) tych dat. Udało mi się podać listę dat i wiem, że struktura .net daje mi wszystko, czego potrzebuję, aby wyodrębnić wszystkie atrybuty, po prostu nie wiem, jak dodać atrybut jako nowe kolumny na mojej liście. Oto, co mam do tej pory:

type Span = Span of TimeSpan with
 static member (+) (d:DateTime, Span wrapper) = d + wrapper //this is defining the + operator
 static member Zero = Span(new TimeSpan(0L))

type Dates() = 

 let a = DateTime.Parse("01/12/2013")
 let b  =DateTime.Parse("02/12/2013")
 let ts = TimeSpan.FromDays(1.0)
 member this.Get() = [a .. Span(ts) .. b]

let mydates = new Dates()
mydates.Get()

Po uruchomieniu tego kodu otrzymuję listę wartości DateTime z 2 rekordami na liście. Mogę teraz zrobić coś takiego:

mydates.Get() |> List.map (fun x -> x.DayOfWeek);;

co zwraca:

val to: DayOfWeek list = [niedziela; Poniedziałek]

lub

mydates.Get() |> List.map (fun x -> x.DayOfYear);;

co zwraca:

val it: int list = [335; 336]

To świetnie, ale chciałbym zaprojektować listę, która ma 2 „kolumny” (jeśli kolumny są właściwym słowem), aby moje dane wyjściowe były (coś w stylu):

val to: int list = [(niedziela, 335); (Poniedziałek, 336)]

Mam nadzieję, że to wyjaśnia, po co jestem.

dzięki

Jamie

questionAnswers(1)

yourAnswerToTheQuestion