Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Alex Troush - IEx Cheat Sheet. Guide to Win with IEx on your Day to Day Job

306 views

Published on

Elixir Club 6 - March 18, 2017
Nivki Hall

Published in: Technology
  • Be the first to comment

Alex Troush - IEx Cheat Sheet. Guide to Win with IEx on your Day to Day Job

  1. 1. IEx Cheat Sheet @troush69 | github.com/Troush
  2. 2. Presentation.Supervisor.start_link(self(), {:slide, 1})
  3. 3. Starting IEx 1 iex 2 3 iex -S mix #Starting IEx in the context of your app
  4. 4. 1 iex(1)> sum = fn (a, b) -> 2 ...(1)> c + b 3 BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded 4 (v)ersion (k)ill (D)b-tables (d)istribution “ctrl+c”
  5. 5. Ctrl + c menu actually `erl` shell menu ● (a)bort - abort interactive mode. Eg: Exit ● (c)ontinue - continue interactive mode ● (p)roc info - get processes information ● (i)nfo - get Erlang runtime information ● (l)oaded – list of loaded modules to current shell ● (v)ersion – version of `erl` ● (k)ill – kill process menu ● (D)b-tables - get info about d/ets avaible in current shell ● (d)istribution - distribution info
  6. 6. Ctrl + g 1 User switch command 2 --> s 'Elixir.IEx' 3 --> c 4 5 6 User switch command 7 --> c 1
  7. 7. Ctrl + g ● c [nn] - connect to job ● i [nn] - interrupt job ● k [nn] - kill job ● j - list all jobs ● s [shell] - start local shell ● r [node [shell]] - start remote shell ● q - quit erlang ● ? | h - this message
  8. 8. Ctrl- What I didn’t know is that you can exit the shell by sending Ctrl-. The shell will exit immediately. As far as I know, it has the same effect as aborting the shell in the Break command, it doesn’t affect remote nodes and it also works outside of iex (for example, you can use to terminate your tests)
  9. 9. .iex.ex Every time IEx starts it will look for a .iex.exs configuration file. If it’s not present in the current directory, then the user’s home directory (~/.iex.exs) will be used as the fallback.
  10. 10. .iex.ex 1 IO.puts "Hello, World" $ iex Erlang/OTP 19 [erts-8.2] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] Interactive Elixir (1.4.0) - press Ctrl+C to exit (type h() ENTER for help) Hello, World iex(1)>
  11. 11. Configuring the shell
  12. 12. No limit on IO.inspect IEx.configure [inspect: [limit: :infinity]]
  13. 13. IEx Helpers
  14. 14. h Module
  15. 15. h Module.fn/arity
  16. 16. v(n -1) Returns the value of the nth expression in the history.
  17. 17. IEx.pry()
  18. 18. r(module) Recompiles and reloads the given module. Please note that all the modules defined in the same file as module are recompiled and reloaded.
  19. 19. respawn Respawns the current shell by starting a new shell process. Returns true if it worked.
  20. 20. Debugging Phoenix Views
  21. 21. Debugging Phoenix Templates
  22. 22. Debugging Phoenix Tests Don’t forget to run your test suite with: iex -S mix test --trace
  23. 23. Questions?

×