我是 Erlang 的新手,正在测试不同的函数以掌握它们。我希望此函数能够返回一个整数,该整数表示使用 foldl 函数在字符串中重复字母变量的次数,但我有点坚持决定“有趣”函数。有帮助吗?
我希望函数返回的示例:
`test:count("Hello this is a test", $i)`
应该返回 2
test:count("Hello this is a test", $t)
应该返回 3
-spec count(String, Char) -> integer() when
String::string(),
Char::char().
count(String, Char) ->
F = ???,
lists:foldl(F, 0, String).
最佳答案
按照 Hynek -Pichi- Vychodil 的回答,你也可以这样写折叠:
count(String, Char) ->
F = fun(C, Count) when C=:=Char-> Count + 1;
(_, Count) -> Count
end,
lists:foldl(F, 0, String).
关于string - 如何使用 foldl 找出一个字母在字符串中重复的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42457956/