Birleştirme sıralama işlevi yapıyorum ve bölünmüş yöntemim bana bir değer kısıtlaması hatası veriyor. 2 biriktirme parametresi kullanıyorum, bölünmeden kaynaklanan 2 liste, dönüş için sonunda bir tuple paketliyorum. Ancak bir değer kısıtlaması hatası alıyorum ve sorunun ne olduğunu anlayamıyorum. Herhangi bir fikri olan var mı?F # Bölme İşlevi
let split lst =
let a = []
let b = []
let ctr = 0
let rec helper (lst,l1,l2,ctr) =
match lst with
| [] -> []
| x::xs -> if ctr%2 = 0 then helper(xs, x::l1, l2, ctr+1)
else
helper(xs, l1, x::l2, ctr+1)
helper (lst, a, b, ctr)
(a,b)
Herhangi bir girdi takdir edilir.
Doğru, yani beklenen giriş olacaktır: liste = [1, 2, 3, 4] ve çıkış Daha sonra, işlem, örneğin, [(4; 2], [3; 1]) –
mü [F # etiket bilgisi] 'ne göz atın (http://stackoverflow.com/tags/f%23/info). –