【发布时间】:2012-12-12 09:06:01
【问题描述】:
我在看《七周七种语言》这本书,一天erlang的自学一点问题都过不去。
我的代码是这样的:
-module(slsw).
-export([count_words/1]).
list_length([]) -> 0;
list_length(String) ->
[_ | Tail] = String,
1 + list_length(Tail).
count_words(Text) ->
{_, R} = re:split(Text, " "),
list_length(R).
但是,当我打开 erl 时,编译它 (c(slsw).),然后尝试将它与以下内容一起使用:
slsw:count_words("yoo dude, this is a test").
我遇到了这个烦人的运行时异常:
** exception error: no match of right hand side value [<<"yoo">>,<<"dude,">>,<<"this">>,<<"is">>,<<"a">>,
<<"test">>]
in function slsw:count_words/1 (slsw.erl, line 19)
看起来它结束了数组,然后抛出这个异常..我做错了什么?
我还找到了string:words 函数,但我想自己做一个有趣/学习的函数。
提前致谢
【问题讨论】:
标签: erlang