如何改变Erlang的当前工作路径
2016-03-15 11:21
274 查看
在目前网络上许多的Erlang基础教程中都提到类似下面的一个例子:
-module(tut).
-export([double/1]).
double(X) ->
2 * X.
然后在Erlang Shell中进行编译tut.erl源文件:
1> c(tut).
但对于一个刚刚接触到Erlang的初学者来说,经常会发生如下的错误:
./tut.erl:none: no such file or directory
error
提示信息告诉用户tut.erl文件没有找到,这让许多初学者搞不明白tut.erl源文件应该被在哪个目录下才可以被Erlang编译器找到。对于Windows用户来说,用户点击Erlang图标启动的Erlang Shell的工作路径是Erlang安装目录下的usr目录下,将tut.erl或其他用户自己编写的Erlang源文件拷贝到该目录下就可以直接用c(xxxx)命令进行编译了,其中的xxxx为模块名称,即为不带.erl扩展名的源文件名。
用户如果不想以该目录作为默认工作目录,则可以在Erlang图标点右击鼠标,选择弹出菜单项“属性”,然后修改“Erlang 属性”对话框中 “起始位置”的值,原值为“(Erlang安装路径)/usr”,改为你想要的工作目录值即可。
通过执行以下命名可以查询当前的Erlang工作目录:
2> pwd().
e:/erl5.6.5/usr
ok
请注意pwd()返回的目录名称与标准的Windows目录名并不一样,使用的是正斜杠分隔符“/”,如果想在Erlang Shell中切换当前的工作目录,则可以使用以下命令:
3> cd("e:/mynewwork").
e:/mynewwork
ok
同样的,cd(dir)命令中的工作目录名同样是使用正斜杠分隔符“/”,而不能使用Windows标准的反斜杠分隔符“/”,如果你使用Windows标准目录名,则cd(dir)命令执行时不会提示有使用错误信息,则并没有正确切换到新的工作目录中。
如果用户在命令行模式下执行erl.exe直接进入Erlang Shell的话,则当前目录即为Erlang的工作目录,而不会受Erlang图标属性中的“起始位置”设置的影响,如果想用户在任何方式进入Erlang Shell时都自动切换到指定的工作目录,则可以在用户目录中的编辑一个.erlang文件:
c:cd("e:/mynewwork").
io:format("My new work in: ~p!n", [element(2, file:get_cwd())]).
同样需要注意的是,这里说的用户目录一般为C:/Documents and Settings/(当前登录用户名),比如当前你以heangel账号登录Windows系统,则用户目录为C:/Documents and Settings/heangel,该文件在Windows平台下,可以理解成一个只有扩展名没有文件名的文件,这样的文件在Windows的文件浏览器中可以进行一般的浏览、删除操作,但无法将一个正常的文件名重命名成这样的文件,所以一般需要用记事本将以上代码编辑进一个空文档中,然后另存文件,选择保存类型为“所有文件”,文件名为“.erlang”进行保存。
作为一个Erlang初学都,仔细阅读以上内容,并动手实践以上第个步骤,就可以开发真正的Erlang学习了。
-module(tut).
-export([double/1]).
double(X) ->
2 * X.
然后在Erlang Shell中进行编译tut.erl源文件:
1> c(tut).
但对于一个刚刚接触到Erlang的初学者来说,经常会发生如下的错误:
./tut.erl:none: no such file or directory
error
提示信息告诉用户tut.erl文件没有找到,这让许多初学者搞不明白tut.erl源文件应该被在哪个目录下才可以被Erlang编译器找到。对于Windows用户来说,用户点击Erlang图标启动的Erlang Shell的工作路径是Erlang安装目录下的usr目录下,将tut.erl或其他用户自己编写的Erlang源文件拷贝到该目录下就可以直接用c(xxxx)命令进行编译了,其中的xxxx为模块名称,即为不带.erl扩展名的源文件名。
用户如果不想以该目录作为默认工作目录,则可以在Erlang图标点右击鼠标,选择弹出菜单项“属性”,然后修改“Erlang 属性”对话框中 “起始位置”的值,原值为“(Erlang安装路径)/usr”,改为你想要的工作目录值即可。
通过执行以下命名可以查询当前的Erlang工作目录:
2> pwd().
e:/erl5.6.5/usr
ok
请注意pwd()返回的目录名称与标准的Windows目录名并不一样,使用的是正斜杠分隔符“/”,如果想在Erlang Shell中切换当前的工作目录,则可以使用以下命令:
3> cd("e:/mynewwork").
e:/mynewwork
ok
同样的,cd(dir)命令中的工作目录名同样是使用正斜杠分隔符“/”,而不能使用Windows标准的反斜杠分隔符“/”,如果你使用Windows标准目录名,则cd(dir)命令执行时不会提示有使用错误信息,则并没有正确切换到新的工作目录中。
如果用户在命令行模式下执行erl.exe直接进入Erlang Shell的话,则当前目录即为Erlang的工作目录,而不会受Erlang图标属性中的“起始位置”设置的影响,如果想用户在任何方式进入Erlang Shell时都自动切换到指定的工作目录,则可以在用户目录中的编辑一个.erlang文件:
c:cd("e:/mynewwork").
io:format("My new work in: ~p!n", [element(2, file:get_cwd())]).
同样需要注意的是,这里说的用户目录一般为C:/Documents and Settings/(当前登录用户名),比如当前你以heangel账号登录Windows系统,则用户目录为C:/Documents and Settings/heangel,该文件在Windows平台下,可以理解成一个只有扩展名没有文件名的文件,这样的文件在Windows的文件浏览器中可以进行一般的浏览、删除操作,但无法将一个正常的文件名重命名成这样的文件,所以一般需要用记事本将以上代码编辑进一个空文档中,然后另存文件,选择保存类型为“所有文件”,文件名为“.erlang”进行保存。
作为一个Erlang初学都,仔细阅读以上内容,并动手实践以上第个步骤,就可以开发真正的Erlang学习了。
相关文章推荐
- Spiral Matrix II
- 一张很使用的屏幕密度对应尺寸图
- 使用android studio 小技巧文集
- 类型类 V.S. 桥接模式:撞衫不可怕,谁丑谁尴尬
- Android性能优化之常见的内存泄漏
- bootstrap的tree控件
- 192 - Word Frequency
- 剑指offer-两个链表的第一个公共节点
- LUA string库详解
- 网站的最大并发连接数
- 时间格式转换
- 对不可用for update 的数据库管理工具如何复制记录
- 计算两个日期相隔的天数(jodd)
- 通过Object类说明方法重载、方法重写、多态之间的关系
- 开发错误手册
- hdoj 1027 Ignatius and the Princess II(排列组合)
- Python函数中的函数(闭包)用法实例
- 编程常识
- 进程通信[概念比较]
- select下拉框之去掉重复