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
>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
相关文章推荐
- 使用dbms_metadata.get_ddl得到表的ddl语句,增加itl事务槽个数
- root和alias
- CAS实现单点登入(sso)经典教程
- rootless内核保护开关
- 航班动态查询api调用代码示例
- UICollectionView
- 单引号引发的[object XMLHttpRequest]错误
- Android事件分发(事件传递机制)
- SVN Attempted to lock an already-locked dir异常解决方法
- 双屏/多显示器截屏
- Android相机使用(系统相机、自定义相机、大图片处理)
- apache配置虚拟主机及虚拟目录
- Android开发最佳实践
- 使用yum快速升级CentOS 6.5内核到 3.10.28
- java中Set集合的遍历及实现类比较分析
- 键值判断单击双击和长按事件
- Android--判断当前线程是否是主线程
- 《php和mysql web开发》笔记——第11章 使用MySQL从Web访问数据库
- 如何使用反射技术获取泛型类的真实类型?
- jQuery学习日记-------第一篇(jQuery介绍)