f# - use another matchings in some matching -


it's not hard trouble i'm learning language want code being sorta elegant , don't :

            match aver                 | 1 -> @" group                             datepart(year, dt.[date]),                             datepart(month, dt.[date]),                             datepart(day, dt.[date]),                             datepart(hour, dt.[date]),                             (datepart(minute, dt.[date]) / 10)"                 | 2 -> @" group                             datepart(year, dt.[date]),                             datepart(month, dt.[date]),                             datepart(day, dt.[date]),                             datepart(hour, dt.[date])"                 | 3 -> @" group                             datepart(year, dt.[date]),                             datepart(month, dt.[date]),                             datepart(day, dt.[date])"                 | 4 -> @" group                             datepart(year, dt.[date]),                             datepart(month, dt.[date])"                 | _ -> @" group                             datepart(year, dt.[date]),                             datepart(month, dt.[date]),                             datepart(day, dt.[date]),                             datepart(hour, dt.[date]),                             datepart(minute, dt.[date])" 

because want alike :

            match aver                 | 4 -> @" group                             datepart(year, dt.[date]),                             datepart(month, dt.[date])"                 | 3 -> 2 + @",datepart(day, dt.[date])"                 | 2 -> 3 + @",datepart(hour, dt.[date])"                 | 1 -> 3 + @", (datepart(minute, dt.[date]) / 10)"                 | _ -> 3 + @", datepart(minute, dt.[date])" 

is there way use matchings in matching ?

let rec myfuncname = function     | 4 -> @" group                 datepart(year, dt.[date]),                 datepart(month, dt.[date])"     | 3 -> myfuncname 4 + ",datepart(day, dt.[date])"     | 2 -> myfuncname 3 + ",datepart(hour, dt.[date])"     | 1 -> myfuncname 2 + ",(datepart(minute, dt.[date]) / 10)"     | _ -> myfuncname 2 + ",datepart(minute, dt.[date])" 

not efficient, should demonstrate you're looking for.


Comments

Popular posts from this blog

c# - How to set Z index when using WPF DrawingContext? -

razor - Is this a bug in WebMatrix PageData? -

visual c++ - Using relative values in array sorting ( asm ) -