Как я создаю временное имя файла в Erlang?

Честно, я чувствую, что должен проверить дважды, чтобы видеть, использую ли я тот же инструмент в качестве этих людей, которым, кажется, нравится Accurev. Я использовал Подрывную деятельность в своем предыдущем задании и любил его много. У нас никогда не было проблем с ним для разговора о, и конечно цена является правильной. Моя самая большая проблема с Accurev состоит в том, что кажется, что они чувствовали потребность отличаться для пользы different. Это использует совершенно другой словарь для выражения понятий управления версиями, это даже после использования его в течение почти 6 месяцев, чувствует себя очень внешним мне. Это имеет не менее чем 8 или 9 состояний, по сравнению с которыми любой данный файл может быть в, приблизительно вокруг 1/2 как многие для Подрывной деятельности. GUI является дрянным и медленным, и плагины интеграции IDE ниже среднего. Я предположил, что в какой-то момент буду "получать" Accurev и видеть, почему это настолько лучше, но это должно все же произойти. Мой совет состоит в том, чтобы избежать.

9
задан Rodrigue 19 June 2013 в 13:26
поделиться

4 ответа

Вы имеете в виду просто сгенерировать фактическое имя файла? В этом случае самым безопасным способом было бы использовать сочетание чисел, которые вы получаете from now (), и имени хоста вашего компьютера (если у вас есть несколько узлов, выполняющих одно и то же).

Что-то вроде:

1> {A,B,C}=now().
{1249,304278,322000}
2> N=node().
nonode@nohost
3> lists:flatten(io_lib:format("~p-~p.~p.~p",[N,A,B,C])).
"nonode@nohost-1249.304278.322000"
4> 
12
ответ дан 4 December 2019 в 07:35
поделиться

Вы также можете использовать TMP = lib: nonl (os: cmd ("mktemp")).

9
ответ дан 4 December 2019 в 07:35
поделиться

Или вы можете использовать

erlang: phash2 (make_ref ())

для быстрого и простого уникального идентификатора. Уникальный для 2 ^ 82 вызовов, что должно быть достаточно для ваших целей. Я считаю это проще, чем форматирование метки времени с использованием имени узла.

7
ответ дан 4 December 2019 в 07:35
поделиться

Поздний ответ: я только что заметил модуль test_server, который поддерживает временные каталоги, и стоит посмотреть

http://www.erlang.org/doc/man/test_server.html#temp_name -1

1
ответ дан 4 December 2019 в 07:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: