При компиляции файла erlang с помощью erlc
я могу добавить дополнительные include такие каталоги:
erlc -I /home/trotter/code/open-source/yaws/include src/myapp.erl
Когда я компилирую из erl
, я не вижу способа сделать это в командной строке. Вместо этого я должен сделать следующее в ответе:
> compile:file("src/myapp",
[verbose,
report_errors,
{i,"/home/trotter/code/open-source/yaws/include"}]).
Есть ли лучший способ сделать это, о котором я не знаю, например, передать аргумент командной строки в erl? Если нет, то любые предложения по устранению этого не требуют, чтобы я вводил неприятные пути каждый раз при компиляции. Я знаю, что могу создать для них такой класс: class Pair {int i1, i2; } Но если я сделаю это, я не смогу использовать функцию Contains, чтобы проверить, задано ли ...
Как я могу хранить пары целых чисел в списке? Я знаю, что могу создать для них класс вроде:
class Pair
{
int i1,i2;
}
Но если я это сделаю, я не смогу использовать функцию Contains
, чтобы проверить, есть ли данная пара в списке. Как я могу это сделать, чтобы легко хранить целые числа в списке и проверять, существует ли пара целых чисел? Я не могу использовать таблицу, потому что неизвестно, сколько пар там будет.
РЕДАКТИРОВАТЬ:
Забыл добавить:
В моей программе пары (x, y) и (y, x) должны рассматриваться как равные.
РЕДАКТИРОВАТЬ:
(x, y) и (y, x) равны при проверке Point
находится в списке, но x
и y
нельзя поменять местами, потому что x
и y
представляют собой связь между двумя точками. (целое число - это идентификатор точки, и нет, я не могу использовать ссылку и т.д.). Когда я проверяю, содержит ли List
соединение, неважно, является ли оно (x, y) или (y, x), но позже мне понадобится эта информация.