IEx v1.0.5 IEx.Helpers

Welcome to Interactive Elixir. You are currently seeing the documentation for the module IEx.Helpers which provides many helpers to make Elixir’s shell more joyful to work with.

This message was triggered by invoking the helper h(), usually referred to as h/0 (since it expects 0 arguments).

There are many other helpers available:

  • c/2 — compiles a file at the given path
  • cd/1 — changes the current directory
  • clear/0 — clears the screen
  • flush/0 — flushes all messages sent to the shell
  • h/0 — prints this help message
  • h/1 — prints help for the given module, function or macro
  • l/1 — loads the given module’s beam code and purges the current version
  • ls/0 — lists the contents of the current directory
  • ls/1 — lists the contents of the specified directory
  • pwd/0 — prints the current working directory
  • r/1 — recompiles and reloads the given module’s source file
  • respawn/0 — respawns the current shell
  • s/1 — prints spec information
  • t/1 — prints type information
  • v/0 — prints the history of commands evaluated in the session
  • v/1 — retrieves the nth value from the history
  • import_file/1

            — evaluates the given file in the shell's context

Help for functions in this module can be consulted directly from the command line, as an example, try:

h(c/2)

You can also retrieve the documentation for any module or function. Try these:

h(Enum)
h(Enum.reverse/1)

To discover all available functions for a module, type the module name followed by a dot, then press tab to trigger autocomplete. For example:

Enum.

To learn more about IEx as a whole, just type h(IEx).

Summary

Functions

Expects a list of files to compile and a path to write their object code to. It returns the name of the compiled modules

Changes the current working directory to the given path

Clears the console screen

Flushes all messages sent to the shell and prints them out

h()

Prints the documentation for IEx.Helpers

Load the given module’s beam code (and ensures any previous old version was properly purged before)

Produces a simple list of a directory’s contents. If path points to a file, prints its full path

Prints the current working directory

Recompiles and reloads the specified module’s source file

Respawns the current shell by starting a new process and a new scope. Returns true if it worked

v()

Prints the history of expressions evaluated during the session along with their results

Retrieves the nth expression’s value from the history

Macros

Prints the documentation for the given module or for the given function/arity pair

Evaluates the contents of the file at path as if it were directly typed into the shell. path has to be a literal binary

Similar to t/1, only for specs

When given a module, prints specifications (or simply specs) for all the types defined in it

Functions

c(files, path \\ ".")

Expects a list of files to compile and a path to write their object code to. It returns the name of the compiled modules.

When compiling one file, there is no need to wrap it in a list.

Examples

c ["foo.ex", "bar.ex"], "ebin"
#=> [Foo,Bar]

c "baz.ex"
#=> [Baz]
cd(directory)

Changes the current working directory to the given path.

clear()

Clears the console screen.

This function only works if ANSI escape codes are enabled on the shell, which means this function is by default unavailable on Windows machines.

flush()

Flushes all messages sent to the shell and prints them out.

h()

Prints the documentation for IEx.Helpers.

l(module)

Load the given module’s beam code (and ensures any previous old version was properly purged before).

ls(path \\ ".")

Produces a simple list of a directory’s contents. If path points to a file, prints its full path.

pwd()

Prints the current working directory.

r(module)

Recompiles and reloads the specified module’s source file.

Please note that all the modules defined in the same file as module are recompiled and reloaded.

respawn()

Respawns the current shell by starting a new process and a new scope. Returns true if it worked.

v()

Prints the history of expressions evaluated during the session along with their results.

v(n)

Retrieves the nth expression’s value from the history.

Use negative values to lookup expression values relative to the current one. For instance, v(-1) returns the result of the last evaluated expression.

Macros

h(other)

Prints the documentation for the given module or for the given function/arity pair.

Examples

h(Enum)
#=> Prints documentation for Enum

It also accepts functions in the format fun/arity and module.fun/arity, for example:

h receive/1
h Enum.all?/2
h Enum.all?
import_file(path)

Evaluates the contents of the file at path as if it were directly typed into the shell. path has to be a literal binary.

A leading ~ in path is automatically expanded.

Examples

# ~/file.exs
value = 13

# in the shell
iex(1)> import_file "~/file.exs"
13
iex(2)> value
13
s(other)

Similar to t/1, only for specs.

When given a module, prints the list of all specs defined in the module.

When given a particular spec name (with optional arity), prints its spec.

Examples

s(Enum)
s(Enum.all?)
s(Enum.all?/2)
s(is_atom)
s(is_atom/1)
t(module)

When given a module, prints specifications (or simply specs) for all the types defined in it.

When given a particular type name, prints its spec.

Examples

t(Enum)
t(Enum.t/0)
t(Enum.t)