netch80: (Default)
[personal profile] netch80
Из того, что в принципе в документации есть, но так с ходу не заметишь.


handle_info(foo, State) ->
  NewState = #state{} = do_foo(State),
  {noreply, NewState};


если do_foo() случайно вернуло ерунду, а не нужный record, то без проверки = #state{} оно заметится только на следующем цикле, а это немного не то, что нужно:)

Аналогично можно сделать function clause на входе:


do_foo(#state{} = State) ->


(Альтернатива в виде dialyzer тяжеловата, мягко говоря, и не во всех случаях.)

Profile

netch80: (Default)
netch80

January 2026

S M T W T F S
    1 23
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 3rd, 2026 12:01 am
Powered by Dreamwidth Studios