2009-08-14 12 views
10

Erlang 13Bをインストールし、チュートリアルに従おうとしました。WindowsでErlangコードを編集する

c(tut)になるたびに、(ok, tut)の代わりにエラーが表示されるため、モジュールがインストールされていないようです。誰かが私を正しい方向に向けることができますか?

私はEmacsを試しましたが、実際の使用方法はわかりませんし、Erlangモードを動作させることにも近くなっていません。たとえば、どこで入力します:仕事にc(tut)については

(setq load-path (cons "C:/Program Files/erl5.6.2/lib/tools-<ToolsVer>/emacs" 
    load-path)) 
    (setq erlang-root-dir "C:/Program Files/erl5.6.2") 
    (setq exec-path (cons "C:/Program Files/erl5.6.2/bin" exec-path)) 
    (require 'erlang-start) 
+0

私はErlangとEmacsの両方を同時に発見しています(どちらも素晴らしいソフトウェアです)。Emacsを最初に置くことをお勧めします。同時に2つのsystemzを学ばないでください。あなたはErlangで任意のテキストエディタを使うことができ、Notepad ++も素晴らしい仕事をしています。 –

答えて

16

を、現在のディレクトリにtut.erlファイルが存在しなければなりません。

これは、LinuxやOS Xなどのシステムでよく見られるようにErlangインタプリタをコマンドラインから起動すると簡単に実行できますが、これはWindowsの通常のパターンではありません。スタートメニューのアイコンからErlangを起動すると、現在の作業ディレクトリのデフォルトはwerl.exeの場所になります。これはtut.erlファイルの場所ではありません。

コマンドが正常に動作するようにするには、Erlangシェルの起動後に作業ディレクトリをtut.erlの場所に変更する必要があります。

cd("c:/Users/myname/Desktop"). 

(はい、あなたはスラッシュを使用する必要がバックスラッシュは、Erlangの文字列で特別です。。)

オン:tut.erlは、デスクトップ上にある場合、コマンドは、VistaまたはWindows 7上でこのようなものになりますWindows XP以前では、デスクトップフォルダはかなり深く埋められています。 werl.exeをシステムPATHに置き、そのようなシステムでコマンドラインを使用する方が簡単かもしれません。

これは必須ではありませんが、Cygwinのインストールを検討することをおすすめします。そのBashシェルは、LinuxやOS Xのような環境を提供します。これは、それらのOS用に構成された他のチュートリアルで作業するのに役立ちます。

+1

ちなみに、* .beamファイルを他のErlangコードと一緒にディレクトリに置くと、* .beamファイルとwerl.exeの間のWindowsファイルの関連付けを設定できるので、ダブルクリックするとErlangがロードされますファイルの場所に作業ディレクトリを暗黙的に設定してしまいます。 –

9

あなたはアーランをインストールした後シェルを開いて実行します。

1> pwd(). 
C:/Program Files/erl5.7.1/usr 
ok 
2> 

は、あなたがファイルを持っていると仮定。デスクトップ上の "tut.erl"内容は次のようになります。

-module(tut). 
-compile(export_all). 

hello_world() -> 
    hello. 

あなたは(またはどこでコンパイルをしたい今まで)最初のデスクトップに現在の作業ディレクトリのパスを変更する必要があります。おそらく:

2> cd("F:/Desktop"). 
F:/Desktop 
ok 
3> 

コンパイルを実行できます。

3> c(tut). 
{ok,tut} 
4> 

その後、モジュールをテスト

4> tut:hello_world(). 
hello 
5> 

詳細情報はこちらのマニュアルを参照してください。シェルのErlang official documentation 詳細情報を、ここを見て:Shell module

が、これはあなたの開始されると思います。

+3

ああ、ところで、私が持っている絶対にベストなヒントは、あなたが持っているプロジェクトごとにwerl.exeへのウィンドウショートカットを作成し、現在の作業ディレクトリに "Run in"プロパティを変更することです。別のヒントは、-sname、-setcookie(分散環境で便利)、おそらく-paなどの "Target"プロパティにフラグを追加して、コード検索パスにパスを追加することです。それらについての詳細:http://erlang.org/doc/man/erl.html –

+0

私の質問に答えるためにタイムアウトを取ってくれてありがとうが、私は働くためにc(tut)を得ることができない、私はまだこれを得る: Erlang(BEAM)エミュレータバージョン5.6.2 [smp:2] [async-threads:0] Eshell V5.6.2(abort with^G) 1> cd( "F:/ Desktop")。 C:/ Program Files/erl5.6.2/usr ok 2> c(tut)です。 ./tut。ERL:なし:そのようなファイルやディレクトリ エラー 3> すべてのチュートリアルは、これらのモジュールは、すでに私は、彼らが標準として来たと思っインストールされていることを前提としているように見えるので、私は自分自身のモジュールを追跡することができないようです。 – Niall

+1

あなたのコマンドcd( "F:/ Desktop")。 CDがドライブレター間でディレクトリを変更できないというWindowsコマンドラインの問題にぶつかっています。作業ディレクトリをF: btw help()に設定するためのerlangショートカットを修正してください。シェルコマンドを表示します。 – danio

1

また.erlang

YourErlangInstallationPath\usr\の下で、ファイルの内容は次のようになりますという名前の初期化ファイルを作成することができます。

 
io:format("consulting .erlang in ~p~n" , 
[element(2,file:get_cwd())]). 
%% Edit to the directory where you store your code 
c:cd("O:/Erlang.Umut"). 
io:format("Now in:~p~n" , [element(2,file:get_cwd())]). 

自動的に作業フォルダへのパスが変更されます。 (明らかに私のパスはO:/Erlang.Umutですので、あなたのパスに置き換える必要があります)

コンソールを起動するたびにフォルダを変更する必要はありません。コンソールはerlファイルに直接アクセスできます。

1

最近WindowsでErlangを試しました。

コンソールウィンドウを使用して、使用しているテキストエディタがファイルに正しい拡張子を与えていることを確認します。 filename.erlで、filename.erl.txtではなく、私のようでした!

メモ帳にファイルを保存したときに.txtが追加されたので、私はユニコードで保存しました。

0

"tut:erl:none:no such file or directory"が表示されている場合は、ファイル名が間違っています。 Windowsのコマンドプロンプトを開き、デスクトップに移動して "dir"と入力すると、tut.erlの名前はtut.erl.txtになります。 "ren tut.erl.txt tut.erl"と入力すると、コンパイルが実行されます。

0

werlの現在の作業ディレクトリがコンパイルするファイルと同じ場合、ファイル名はパス全体を除く引数として与えられます。 それ以外の場合は、たとえば。 tut.erlがCに配置されると仮定すると:Erlangのチュートリアルを\、1のようにコンパイルしてみて、

c("C:\\ErLang tutorials\\tut"). 

注:

  1. は、二重引用符なし:バックスラッシュを使用して指定され
  2. 構文エラーが発生しますエスケープシーケンス
関連する問題