我无法理解如何浏览字符串中的所有字符,请您分享一个简单的例子吗?
我有一个字符串,比如
"function(){var a = 10; var b = 5; return a + b;}".
现在我想逐字逐句地“循环”字符串并根据其值进行操作。
这是我的代码在lexme("some string here").
:
lexme(S) ->
lexme(S, 1).
lexme([H | T], _) ->
io:fwrite("~p~n", [H]),
T.
答案 0 :(得分:1)
为了使lexme/2
递归,它必须自己调用。
试试这个:
lexme([H | T], _) ->
io:fwrite("~p~n", [H]),
lexme(T, 1).
我不确定你打算用第二个参数做什么。你忽略了它,为什么会这样呢?
您还需要一个处理空列表的函数头,以便递归可以终止,因此完整定义将是这样的:
lexme([], _) ->
done;
lexme([H | T], _) ->
io:fwrite("~p~n", [H]),
lexme(T, 1).
有关详细信息,请参阅http://learnyousomeerlang.com/recursion。