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