【发布时间】:2015-05-31 03:27:16
【问题描述】:
我正在处理此代码,但无法使其运行。我检查了几次,仍然无法弄清楚为什么它不起作用。
fun date_to_string (date : (int * int * int)) =
let
val months = ["January", "February","March", "April",
"May", "June","July", "August", "September", "October", "November", "December"];
fun get_nth (xs : string list, n : int) =
if n=1
then hd xs
else get_nth(tl xs, n-1)
in
get_nth(months, Int.toString(#2 date)) ^ " " ^ Int.toString(#3 date) ^ ", " ^ Int.toString(#1 date)
end
这是我尝试运行它时得到的结果:
【问题讨论】:
-
您将
get_nth应用于一对列表和字符串,而不是列表和int:get_nth(months, Int.toString(#2 date))。Int.toString的结果不是 int。您可能根本不想在那里使用该功能。此外,还有一个基础库函数List.nth您可能想要使用。