default.txt 916 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. defrecord Person, first_name: nil, last_name: "Dudington" do
  2. def name record do # huh ?
  3. "#{record.first_name} #{record.last_name}"
  4. end
  5. end
  6. defrecord User, name: "José", age: 25
  7. guy = Person.new first_name: "Guy"
  8. guy.name
  9. defmodule ListServer do
  10. @moduledoc """
  11. This module provides an easy to use ListServer, useful for keeping
  12. lists of things.
  13. """
  14. use GenServer.Behaviour
  15. alias Foo.Bar
  16. ### Public API
  17. @doc """
  18. Starts and links a new ListServer, returning {:ok, pid}
  19. ## Example
  20. iex> {:ok, pid} = ListServer.start_link
  21. """
  22. def start_link do
  23. :gen_server.start_link({:local, :list}, __MODULE__, [], [])
  24. end
  25. ### GenServer API
  26. def init(list) do
  27. {:ok, list}
  28. end
  29. # Clear the list
  30. def handle_cast :clear, list do
  31. {:noreply, []}
  32. end
  33. end
  34. {:ok, pid} = ListServer.start_link
  35. pid <- {:foo, "bar"}
  36. greeter = fn(x) -> IO.puts "hey #{x}" end
  37. greeter.("Bob")