Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 0.44 KB | None | 0 0
  1. find_mob(MobRef) ->
  2.     FindRef = fun(Elem) -> Elem#mob.ref =:= MobRef end,
  3.     Q = qlc:q([X ||
  4.             X = #world{stuff=Stuff} <- mnesia:table(world),
  5.             case proplists:lookup_all(mob, Stuff) of
  6.                 [] -> false;
  7.                 List -> lists:any(FindRef, List)
  8.             end]),
  9.     F = fun() -> qlc:eval(Q) end,
  10.     case mnesia:transaction(F) of
  11.         {atomic, [Square]} -> Square;
  12.         _ -> nil
  13.     end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement