※ 引述《cedog (YA)》之銘言:
: insert(str1,str2,int):插入字串,將str2插入str1的位置int,從0開始。
: replace(str1,str2,int):取代字串,將str1位置int,開始取代成str2,int是從0開始。
insert(str1,str2,int):: String -> String -> Integer -> String
insert(str1, str2, 0)
= str2 ++ str1
insert(a::str1, str2, b)
= a::( insert(str1, str2, (b-1)) )
replace(str1, str2, int):: String -> String -> Integer -> String
replace(a::as, b::bs, 0)
= b::(replace (as, bs, 0)
replace( nil, s2, 0)
= nil
replace( s1, nil, 0)
= s1
replace( a::as, s2, b)
= a::( replace(as, s2, (b-1) ) )
這樣應該是ok的吧?
這不是任何程式碼,充其量就是有點functional 的pseudo code
希望能幫到你