您的位置:首页 > 其它

Erlang 编译时出现"no such file or directory" 与 当前工作目录问题

2015-10-09 14:16 549 查看
初学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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: