7

このように-pzを使用してescriptに相対コードパスを設定しようとすると

#!/usr/bin/env escript
%% -*- erlang -*-
%%! -pz ../dir-of-some-beams

パスは、escriptを実行したディレクトリを基準にして解釈されるため、スクリプトの場所を基準にしたパスを設定するのに役立ちません。

私の現在の「回避策」は、これがすべてリポジトリの一部であり、場所に依存することを望まないため、煩わしい絶対パスを使用しています。

では、escriptが配置されているディレクトリを基準にしてコードパスを設定するにはどうすればよいですか?

4

1 に答える 1

19

自分で見つけた:

メインの最初に次のようなコードを追加します。

true = code:add_pathz(filename:dirname(escript:script_name()) 
                       ++ "/../dir-of-some-beams"),

文字列のリストが必要な入力が簡単で、文字列だけを渡しても常にが返されるため、trueこれらの関数を常にテストすることをお勧めしますが、コードパスを単一のディレクトリに設定しません(かなり迷惑な動作ところで)。codecode:add_pathszok

于 2011-07-01T08:54:39.523 に答える