小编jps*_*elt的帖子

为什么我从Erlang翻译的Elixir程序中收到FunctionClauseError("无函数子句匹配")?

**所以,我以前和Erlang一起工作过,而且我很熟悉它.我只是想学习Elixir.

我最近试图将一个"懒惰的caterers"示例翻译成elixir,并且为什么它要么不编译,要么编译警告并且不起作用,我感到很困惑.我在这里缺少什么; 有任何想法吗?erlang代码和'run'如下:**

jps@GRASSKEET ~/dev/erlang
$ cat cater.erl

    -module(cater).
    -export([cater/1]).
    cater(0) -> 1;
    cater(N) when N>0 -> N + cater(N-1).

jps@GRASSKEET ~/dev/erlang
$ erl
Eshell V6.3  (abort with ^G)
1> c("cater.erl").
{ok,cater}
2> cater:cater(10).
56
3>*
Run Code Online (Sandbox Code Playgroud)

当我像这样编写Cater.ex时,会收到一个对我没有意义的错误:

jps@GRASSKEET ~/dev/elix
$ cat Cater.ex

    defmodule Cater do
      def cut(0), do: 1
      def cut(N) when N>0, do: N + cut(N-1)
    end

jps@GRASSKEET ~/dev/elix
$ iex
Interactive Elixir (1.0.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> c("Cater.ex")
Cater.ex:1: warning: redefining …
Run Code Online (Sandbox Code Playgroud)

erlang elixir variable-names

6
推荐指数
1
解决办法
9705
查看次数

标签 统计

elixir ×1

erlang ×1

variable-names ×1