💧 Elixir
Beginner
What are Elixir modules and functions?
Answer
In Elixir, modules are the primary namespace and code organization unit. Define with defmodule: defmodule Greeter do; def greet(name), do: "Hello, #{name}"; defp private_helper, do: "private"; end. def: public function. defp: private function (only accessible within the module). Functions are identified by name and arity: greet/1. Multiple clauses with pattern matching: def process({:ok, v}), do: v; def process({:error, e}), do: raise e. Guards: additional constraints: def abs(n) when n < 0, do: -n; def abs(n), do: n. Function capture: &Greeter.greet/1 or &(&1 * 2). Modules can also define attributes (@moduledoc, @doc, custom @attribute value), macros (defmacro), structs, and implement behaviours. Modules are compiled to BEAM bytecode.