title: How to call a method dynamically in Elixir, by specifying both module and method name?
body: <p>I'd like to know what exactly a method name is in elixir:</p>
  
  <pre><code>array = [1,2,3]
  module_name = :lists
  method_name = :nth                  # this not working
  module_name.method_name(1, array)   # error, undef function lists.method_name/2
  module_name.nth(1, array)           # returns 1, module_name is OK. It's an atom
  </code></pre>
  
  <p>But I can do almost the same thing in erlang:</p>
  
  <pre><code>A = [1,2,3].
  X = lists.
  Y = nth.
  X:Y(1,A).  #  returns 1
  </code></pre>
  
  <p>How can I do this in elixir?</p>