私は周りを見回していて、これの例を見つけることができず、私の構文レスリングスキルのすべてが私を失敗させています。誰かがこれをコンパイルする方法を教えてもらえますか?私の、s;sまたは.sはちょうど間違っています私は入れ子関数を定義するために推測します...
文字列の置換を行う関数がすでにあることを知っているので、これを実装する必要はありませんが、Erlangでそれを取得しようとしているので、使用する必要のある基本のいくつかを手で回転させています。 。
replace(Whole,Old,New) ->
OldLen = length(Old),
ReplaceInit = fun(Next, NewWhole) ->
if
lists:prefix(Old, [Next|NewWhole]) -> {_,Rest} = lists:split(OldLen-1, NewWhole), New ++ Rest;
true -> [Next|NewWhole]
end,
lists:foldr(ReplaceInit, [], Whole).
基本的に私はこのhaskellを書き込もうとしています(おそらく悪いですが、要点を超えています):
repl xs ys zs =
foldr replaceInit [] xs
where
ylen = length ys
replaceInit y newxs
| take ylen (y:newxs) == ys = zs ++ drop (ylen-1) newxs
| otherwise = y:newxs