Публикации по теме 'erlang'


Замыкания в Erlang: легко!
Ранее я писал о замыканиях в JavaScript. К моему удивлению, я обнаружил, что делегирование функции в модулях приложения Erlang также обеспечивает закрытие. — И что, опять закрытие? Замыкание — это первоначальная область действия функции, которая сохраняется, даже если она была передана какой-либо другой части приложения через делегат. Из-за закрытия функция по-прежнему будет иметь доступ к переменным, которые у нее были изначально, независимо от того, откуда она выполняется, она..

Красота ОТП
Как я писал в предыдущих публикациях, у меня был большой перерыв в Erlang и Elixir, но я программировал в них довольно давно. Во время этого перерыва я писал код на Java и C, как и раньше, когда знал Erlang. Теперь в качестве быстрого напоминания я начал читать «Функциональная веб-разработка с помощью Elixir, OTP и Phoenix» и делать то, что в ней написано. Вчера я прошел часть Эликсира, которая сама по себе была приятной. Синтаксис для некоторых странный, мне приятно смотреть и писать...

Вопросы по теме 'erlang'

Как построить неблокирующий TCP-сервер с шифрованием ssl
Неблокирующий TCP-сервер на trapexit.org объясняет, как создать сервер на основе tcp_gen, но я хотите изменить этот пример и заставить его работать с ssl. Пока я совершенно не знаю, как заменить {ok, Ref} = prim_inet:async_accept(Listen_socket,...
1320 просмотров
schedule 31.03.2024

Erlang: можно ли написать минимальную функцию в виде списка?
Учитывая функцию: min(A, B) when A =< B -> A; min(_A, B) -> B. могу ли я использовать это в функции foldl аналогично этому: lists:foldl(fun min/2, 0, [1,2,3,4,5,6,7,8,9,10]) Я считаю, что это невозможно,...
1603 просмотров

Невозможно удалить сборки erlang с помощью kerl
Я установил Erlang с помощью kerl. Я построил его как 32-битный, а не 64-битный, как должен был. Попытка исправить мою ошибку оказывается проблематичной. ./kerl status приносит мне Available builds: R15B01,r15b01 ---------- Available...
871 просмотров
schedule 10.03.2024

Сопоставление шаблонов битового синтаксиса Erlang работает в оболочке, но не в качестве переданного аргумента
Я пытаюсь сделать простой декодер пакетов UDP. packet_decoder(Packet)-> <<Opts:8,MobIdLength:8,MobId:64,MobIdType:8,MgeType:8,SeqNum:16,Rest/binary>> = Packet, io:format("Options:~p~n",Opts),...
305 просмотров
schedule 07.05.2024

таблицы ejabberd mod_archive_odbc для хранения сообщений
Я использую Ejabberd для реализации приложения чата, я переключил конфигурацию ejabberd на использование ODBC (mysql) вместо использования по умолчанию Mnesia для базы данных. Теперь я скомпилировал и настроил mod_archive_odbc и...
978 просмотров

Erlang: блокировка поведения вызова C NIF
Я наблюдал блокирующее поведение C NIF, когда они вызывались одновременно многими процессами Erlang. Можно ли сделать его неблокирующим? Здесь работает mutex , которого я не могу понять? P.S. Базовый NIF "Hello world" можно протестировать,...
1057 просмотров
schedule 25.04.2024

Как передать функции в качестве аргументов внутри модулей?
Вопрос, который я пытаюсь решить, Write a split(L) which returns {Even, Odd}. Доступный код, который у меня есть, выглядит так -export([even/1, odd/1, filter/2, split_using_filter/1]). even(Integer) -> Integer rem 2 =:= 0....
629 просмотров
schedule 20.04.2024

неопределенные карты функций: to_json/1
Это одна из вещей, которым я научился у Programming Erlang, 2nd Ed , но, похоже, она не работает в оболочке. $ erl Erlang/OTP 17 [erts-6.2] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace] Eshell V6.2 (abort...
1690 просмотров
schedule 08.03.2024

Почему я получаю дважды одно и то же сообщение?
Я новичок в Erlang, и я разрабатываю небольшую программу для моделирования робота, который собирает банки: -export([start/0]). start()-> Believes=#{bin_position=>0, num_cans=>1, can_position=>4, my_position=>1},...
59 просмотров
schedule 31.03.2024