ile kullanılır. Programımda, Ocaml "# matrix81 önbellek ;;" bana hata veriyor: "Bu ifade, önbellek listesi var ama burada tip önbellek listesi ile kullanılır" Bu benim kodum. Herhangi bir yardım?Hata: Bu ifade, önbellek listesi vardır, ancak burada önbellek listesi
let rec makeLine w =
let y = w - 1 in
if w <> 0 then 0::(makeLine y)
else []
;;
let rec makeMatrix w h =
let y = h - 1 in
if h <> 0 then (makeLine w)::(makeMatrix w y)
else []
;;
let rec checkCache lc d t =
match lc with
[] -> 0
|x::xs -> if (x.difficulty = d) && (x.terrain = t) then (checkCache xs d t) + 1
else (checkCache xs d t)
;;
let rec checkLine lc d t line =
match line with
[]->[]
|x::xs -> let nt = t +. 0.5 in
let v = 5.0 in
if (nt < v) then
let nx = (checkCache lc d t) in
(nx)::(checkLine lc d nt xs)
else []
;;
let rec matrix81Aux m d lc =
match m with
[] -> []
|x::xs -> let nd = d +. 0.5 in
let v = 5.0 in
if (nd < v) then
(checkLine lc d 1.0 x)::(matrix81Aux xs nd lc)
else []
;;
let matrix81 lc =
let m = makeMatrix 9 9 in
matrix81Aux m 1.0 lc
;;
Yazınızı vandalize etmeyin: OCaml ait
Son sürümler iki farklı türde katılmaktadırlar olduğunu açıklamak (deneyin) için, tip adının bir tamsayı ekleyin. Bu siteye bir soru veya cevap gönderdikten sonra, bu mesajların o içeriğe katkıda bulunan diğer kişilerin ortak çabalarının bir parçası olduğunu unutmayın. Başkaları için yararlı olabilecek yayınlar olağanüstü durumlar dışında kaldırılmamalıdır. Gönderi orijinal yazar için artık yararlı olmasa bile, bu bilgi gelecekte benzer sorunlarla karşılaşabilecek başkalarına hala faydalıdır - bu, Stack Exchange'in temel felsefesidir. – Matt