初学Erlang,编译.erl文件时,提示:
>1 c(some_module)
./some_module.erl:none: no such file or directory
error
这是由于.erl文件并未在Erlang当前工作目录中导致。
在Erlang shell中输入如下函数,获取当前工作目录:
>1 pwd().
可以使用如下函数切换工作目录:
>1 c:cd("X:/your_erlang_directory").
值得注意的是,即使是在windows下,分隔符也要使用“/”
也可以在windows用户目录中创建.erlang文件,在文件中输入上面命令,这样Erlang shell在启动后自动切换至指定目录。
在windows下不能直接创建只有扩展名(.erlang)的文件,可以使用【记事本->另存为】方式创建文件。
也可以在cmd 命令行下创建:
> cd %userprofile%
> echo c:cd("X:/your_erlang_directory"). > .erlang
1、安装erlang,很简单:
#yum install erlang
......安装好后......
#erl
Erlang (BEAM) emulator version 5.6.5 [source] [smp:2][async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.6.5 (abort with ^G)
2、看书,敲语法
3、第一个实例:
#vi geometry.erl
%% ---注释
%% Excerpted from "Programming Erlang"
%%---
-module(geometry).
-export([area/1]).
area({rectangle, Width, Height}) -> Width *Height;
area({square,X}) -> X * X;
area({circle,R}) -> 3.14159 * R * R.
4、编译执行:
1> c(geometry).
{ok,geometry}
2> geometry:area({rectangle, 10, 5}).
50
3> geometry:area({circle, 1.4}).
6.157516399999999
4> geometry:area({circle,5}).
78.53975
5> c(geometry).
{ok,geometry}
6> geometry:area({square, 5}).
25
>1 c(some_module)
./some_module.erl:none: no such file or directory
error
这是由于.erl文件并未在Erlang当前工作目录中导致。
在Erlang shell中输入如下函数,获取当前工作目录:
>1 pwd().
可以使用如下函数切换工作目录:
>1 c:cd("X:/your_erlang_directory").
值得注意的是,即使是在windows下,分隔符也要使用“/”
也可以在windows用户目录中创建.erlang文件,在文件中输入上面命令,这样Erlang shell在启动后自动切换至指定目录。
在windows下不能直接创建只有扩展名(.erlang)的文件,可以使用【记事本->另存为】方式创建文件。
也可以在cmd 命令行下创建:
> cd %userprofile%
> echo c:cd("X:/your_erlang_directory"). > .erlang
1、安装erlang,很简单:
#yum install erlang
......安装好后......
#erl
Erlang (BEAM) emulator version 5.6.5 [source] [smp:2][async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.6.5 (abort with ^G)
2、看书,敲语法
3、第一个实例:
#vi geometry.erl
%% ---注释
%% Excerpted from "Programming Erlang"
%%---
-module(geometry).
-export([area/1]).
area({rectangle, Width, Height}) -> Width *Height;
area({square,X}) -> X * X;
area({circle,R}) -> 3.14159 * R * R.
4、编译执行:
1> c(geometry).
{ok,geometry}
2> geometry:area({rectangle, 10, 5}).
50
3> geometry:area({circle, 1.4}).
6.157516399999999
4> geometry:area({circle,5}).
78.53975
5> c(geometry).
{ok,geometry}
6> geometry:area({square, 5}).
25