Попробуйте:
import itertools as it
''.join(el[0] for el in it.takewhile(lambda t: t[0] == t[1], zip(string1, string2)))
Выполняет сравнение с началом обеих строк.
: erlang.make_ref () можно использовать для создания уникального идентификатора:
iex(1)> :erlang.make_ref()
#Reference<0.3918424786.2664955905.32640>
iex(2)>
(Есть причина, по которой вы не хотите использовать System. unique_integer / 1 ?)
В документах Elixir упоминается типы данных Reference
, Pid
, Port
, но я не могу найти информацию о [ 115] введите эликсир, например есть ли у Elixir встроенная функция, которая создает ссылки.
Ответ на комментарий :
Вот как можно преобразовать ссылку на строку * в эликсире:
iex(4)> make_ref() |> inspect()
"#Reference<0.784388646.1821114370.207624>"
* Благодарность Хаулету в комментариях к Нахождение Kernel.make_ref()
.
это сработает?
blockquote>В соответствии с Документами ядра :
Возвращенная ссылка появится снова после приблизительно 2 ^ 82 вызовов; поэтому он достаточно уникален для практических целей.
BLOCKQUOTE>