1
我正在写一个递归ML函数,它接受一个字符串和一个索引值,并将该字符串分割给定索引。该函数应该返回一个包含两个字符串的列表。如何将字符串分为两部分,递归地编写
据我所知,我需要两个基本案例来检查是否已达到索引,另一个检查字符串是否超出字符。我被困在如何将字符分配给不同的字符串。请注意,我使用了一个辅助函数来清除最初的调用,这样在每次函数调用时都不需要输入爆炸。
fun spliatHelp(S, num) =
if null S then nil
else if num = 0 then hd(S) :: (*string2 and call with tl(S)*)
else hd(S) :: (*string1 and call with tl(S)*)
fun spliat(S, num) =
spliatHelp(explode(S), num);
从spliat(“theString”,3)的输入;
我的理想输出是[“the”,“String”];