【问题标题】:Erlang code to reverse stringErlang代码反转字符串
【发布时间】:2012-04-30 11:53:41
【问题描述】:

这是一个 Erlang 代码,用于执行字符串逆运算。

但是,它不起作用。

 -module(lists1).
 -export([reverse/1]).
  reverse(L) ->
        reverse(L, []).
  reverse([H|T], L) ->
        reverse(T, [H|L]);
  reverse([], L) ->
         L.

lists1:reverse(Bbc) 。 ** 异常错误:没有与lists1匹配的函数子句:reverse(def,[]) (lists1.erl, line 5)

为什么?

任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: algorithm erlang


    【解决方案1】:

    根据错误消息,您尝试反转原子 (def) 而不是字符串 ("def")。原子不是字符串/列表,因此不匹配您的任何模式。您可以添加一个来处理这种情况:

    reverse(A) when is_atom(A) -> list_to_atom(reverse(atom_to_list(A)));
    reverse(L) -> reverse(L, []).
    

    这给了我这个:

    Eshell V5.7.4(使用 ^G 中止)
    1> 列表1:反向(定义)。

    2>

    【讨论】:

    • 为什么要反转原子?
    • @user1002288,如果你接受你得到的问题,你会得到更多的答案......
    猜你喜欢
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多