Size: a a a

2020 August 06

ИИ

Иванов Иванов... in ErlangRus
а там если в код посмотреть то многие алгоритмы и структуры данных ориентированы на прерывание
источник

ML

Maksim Lapshin in ErlangRus
Иванов Иванов
а там если в код посмотреть то многие алгоритмы и структуры данных ориентированы на прерывание
Это полезно
источник

ИИ

Иванов Иванов... in ErlangRus
Maksim Lapshin
Это полезно
даже необходимо, иначе заткнется всё
источник

ИИ

Иванов Иванов... in ErlangRus
Maksim Lapshin
т.е. какой-то закат солнца вручную с сохранением всего контекста в процессе
кстати, про это в beembook тоже есть в части временных аллокаций.
Note that no Erlang process running on the same scheduler as the allocator may start executing Erlang code before the block is freed. This means that you can not use a temporary allocation over a BIF or NIF trap (yield).

https://blog.stenmans.org/theBeamBook/#_the_temporary_allocator_temp_alloc
источник

A

Alexander in ErlangRus
Evgeny M.
А с case интересна такая конструкция, многие не знают вообще что так можно

case Cond of
   Foo -> A=1, B=2;
   Bar -> A=2, B=3
end

после этого вне case будут определены переменные A и B.
Можно еще так:
{A, B} = case Cond of
   Foo -> {1,2};
   Bar -> {2,3}
end
источник

EM

Evgeny M. in ErlangRus
Alexander
Можно еще так:
{A, B} = case Cond of
   Foo -> {1,2};
   Bar -> {2,3}
end
Это как раз первое что приходит в голову, неочевидно чо переменные объявленные внутри case видны снаружи
источник

A

Alexander in ErlangRus
Evgeny M.
Это как раз первое что приходит в голову, неочевидно чо переменные объявленные внутри case видны снаружи
да, неочевидно. За пример спасибо.
источник

AB

Alexey Bolshakov in ErlangRus
Alexander
Можно еще так:
{A, B} = case Cond of
   Foo -> {1,2};
   Bar -> {2,3}
end
всегда стараюсь писать именно в таком формате. чтобы переменные всегда были объявлены
источник

c

corsars in ErlangRus
Evgeny M.
Это как раз первое что приходит в голову, неочевидно чо переменные объявленные внутри case видны снаружи
Они и не должны быть видны снаружи только внутри
источник

c

corsars in ErlangRus
это IMHO после прочтения документации
источник

E

Elmir in ErlangRus
в папке src есть модуль some_module, а в папке рядом test лежит модуль с тестами some_module_tests. при запуске тестов rebar3 eunit тесты дважды прогоняются, проблему как то раньше на другом проекте решал, но сейчас шаманства с rebar.config не помогают почему то. кто нибудь сталкивался?
источник

E

Elmir in ErlangRus
если some_module_tests переименовать на что то вроде some_other_tests - то это как бы решает проблему..
источник

SP

Sergey Prokhorov in ErlangRus
а в some_module нет внутри юиниттестов?
источник

SP

Sergey Prokhorov in ErlangRus
но вообще звучит как баг какой-то
источник

E

Elmir in ErlangRus
Sergey Prokhorov
а в some_module нет внутри юиниттестов?
В том то и дело что нет, в отдельный модуль все вынес
источник

ИИ

Иванов Иванов... in ErlangRus
Elmir
В том то и дело что нет, в отдельный модуль все вынес
может он дважды находит тесты, типа один раз сам их связывает с модулем, а другой раз как сами по-себе?
источник

ИИ

Иванов Иванов... in ErlangRus
Elmir
В том то и дело что нет, в отдельный модуль все вынес
видимо надо задать конкретные app, dir или module
источник

ИИ

Иванов Иванов... in ErlangRus
Elmir
в папке src есть модуль some_module, а в папке рядом test лежит модуль с тестами some_module_tests. при запуске тестов rebar3 eunit тесты дважды прогоняются, проблему как то раньше на другом проекте решал, но сейчас шаманства с rebar.config не помогают почему то. кто нибудь сталкивался?
>rebar.config не помогают

т..е ты в rebar.config внес {eunit_tests, [{dir, "test"}]} ?
источник

E

Elmir in ErlangRus
Иванов Иванов
>rebar.config не помогают

т..е ты в rebar.config внес {eunit_tests, [{dir, "test"}]} ?
это тоже пробовал. что интересно, если в юнит тестах, которые вынесены в отдельный модуль не использовать генераторы, то все ок, тест срабатывает один раз. но как только использую генераторы в файле some_module_test — то тесты повторяются.
источник

ИИ

Иванов Иванов... in ErlangRus
Elmir
это тоже пробовал. что интересно, если в юнит тестах, которые вынесены в отдельный модуль не использовать генераторы, то все ок, тест срабатывает один раз. но как только использую генераторы в файле some_module_test — то тесты повторяются.
ну это похоже на баг. поэтому лучше подавить указав конкретные app, директории, файлы, модули  (что поможет  app dir module ...)
источник