我有以下列表:濾芯 - ocaml的
["A";"AA";"ABC";"BCD";"B";"C"]
我隨意地提取從列表中的一個元素。但是我提取元素應該是大小3只有不超過3較輕
我試圖做到這一點,如下所示:
let randomnum = (Random.int(List.length (list)));;
let rec code c =
if (String.length c) = 3 then c
else (code ((List.nth (list) (randomnum)))) ;;
print_string (code ((List.nth (list) (randomnum)))) ;;
這工作得很好,如果隨機長度3的字符串是從挑選出來列表。
但是,如果接收到長度爲< 3的字符串,程序不會終止。 我想做一個遞歸調用,以便新的代碼不斷得到拾取,直到我們得到一個長度= 3.
我無法弄清楚爲什麼這不會終止。打印語句沒有任何輸出。
謝謝。我剛剛嘗試過,並即將刪除此帖子,並看到您的回覆:)再次感謝。 – JJunior 2010-11-29 05:18:50