gpt4 book ai didi

sml - 计算包含列表的列表的长度(SML)

转载 作者:行者123 更新时间:2023-12-01 15:00:18 26 4
gpt4 key购买 nike

SML长度函数:

fun length(L) =
if (L=nil) then 0
else 1+length(tl(L));

例如:

length [1,2,3] = 3;
length [ [5], [4], [3], [2,1] ] = 4;

根据代码,如果我也想统计list的list中的元素怎么改?

例如:

length [ [5], [4], [3], [2,1] ] = 5;

最佳答案

您可以创建另一个函数来使用您的函数,如下所示:

fun d_length ( [] ) = 0
| d_length ( l :: l' ) = length(l) + d_length(l');

d_length[ [5], [4], [3], [2,1] ];

或者,使用内置的 reducer:

List.foldl (fn(e,a) => length(e) + a) 0 [ [5], [4], [3], [2,1] ];

关于sml - 计算包含列表的列表的长度(SML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37575769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com