Erlang当前的工作空间路径的修改方法

请看下面的一个例子:

-module(hello).

-compile(export_all).

start()->”hello world”.

然后在Erlang Shell中进行编译hello.erl源文件:

1> c(hello).    

有可能会发生如下的错误:

./hello.erl:none: no such file or directory

error

      hello.erl文件无法找到,hello.erl源文件应该被在哪个目录下才可以被Erlang编译器找到?对于 Windows用户来说,用户点击Erlang图标启动的Erlang Shell的工作路径是Erlang安装目录下的usr目录下,将hello.erl源文件copy到该目录下就可以直接用 c(hello)命令进行编译了,其中的hello为模块名称,即为不带.erl扩展名的源文件名。

      如果不想以该目录作为默认工作目录,则可以在Erlang图标点右击鼠标,选择弹出菜单项“属性”,然后修改“Erlang 属性”对话框中 “起始位置”的值,原值为“(Erlang安装路径)\usr”,改为你想要的工作目录值即可。

      通过执行以下命名可以查询当前的Erlang工作目录:

2> pwd().

e:/erl5.9.1/usr

ok

      请注意pwd()返回的目录名称与标准的Windows目录名并不一样,使用的是正斜杠分隔符“/”,如果想在Erlang Shell中切换当前的工作目录,则可以使用以下命令:

3> cd(“e:/ErlangWork”).

e:/ErlangWork

ok

      cd(dir)命令中的工作目录名同样是使用正斜杠分隔符“/”,而不能使用Windows标准的反斜杠分隔符“\”,如果你使用Windows标准目录名,则cd(dir)命令执行时不会提示有使用错误信息,则并没有正确切换到新的工作目录中。

      如果在命令行模式下执行erl.exe直接进入Erlang Shell的话,则当前目录即为Erlang的工作目录,而不会受Erlang图标属性中的“起始位置”设置的影响,如果想用户在任何方式进入 Erlang Shell时都自动切换到指定的工作目录,则可以在用户目录中的编辑一个.erlang文件:

c:cd(“e:/ErlangWork”).

io:format(“My new work in: ~p!n”, [element(2, file:get_cwd())]).

      这里所指用户目录一般为C:\Documents and Settings(当前登录用户名),比如当前你以ITuser账号登录Windows系统,则用户目录为C:\Documents and Settings\ITuser,该文件在Windows平台下,可以理解成一个只有扩展名没有文件名的文件,这样的文件在Windows的文件浏览器 中可以进行一般的浏览、删除操作,但无法将一个正常的文件名重命名成这样的文件,所以一般需要用记事本将以上代码编辑进一个空文档中,然后另存文件,选择 保存类型为“所有文件”,文件名为“.erlang”进行保存。