簡體   English   中英

遞歸ocaml堆棧溢出

[英]Recursion ocaml stack overflow

我正在嘗試繪制分形:對於每個不完整的圓,我都想繪制一個圓,該圓的大小是該圓的左右兩邊的一半。 這是我的代碼:

let rec drawCircle x y r =
    let halfSize = r/2 in
        draw_circle x y r;
        drawCircle (x+r) y halfSize;
        drawCircle (x-r) y halfSize;;

它可以編譯,但是當我運行它時,我會得到堆棧溢出。 問題是為什么以及如何在此功能中修復它?

您的代碼沒有任何條件可以終止遞歸。

例如,當r == 1像素時,不要再次調用drawCircle。 或您選擇的任何其他情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM