Dziś mała odskocznia, dla mnie też. Potrzebowałem czegoś świeżego więc też dzisiaj kilka tips&tricks – może się przydać, jak będziecie pracować z elixir.

1 Visual Studio Code, elixir plugin, mac, terminal

To może być dobry tip dla prezentowania kodu. Na widowsach to nie działa, ale na linuxie pewnie zadziała. Ogólnie Code zawiera okno terminala, w którym możemy odpalić iex (CTR+SHIFT+`). Następnie zaznaczamy kod i CTRL+SHIFT+P i wpisujemy Run Selected:

VS Code: Run selected
VS Code: Run selected

Po wybraniu opcji, kod zostanie przekopiowany linijka po linijce do iex na dole. To jest dość ważne, linijka po linijce. Więc jak robimy |> to musimy mieć to jako ostatnią rzecz w linijce albo ogólnie by całość zamknęła się w jednej linijce.

Można ustawić skrót Run Selected. Ale to już wam pozostawiam jak to można zrobić.

2 Logowanie

Jeżeli potrzebujemy logować informację to nic prostszego. Nie potrzebujemy żadnej dodatkowej paczki ani nic, wystarczy, ze w naszym module zrobimy require Logger by załadować moduł Logger. Od tej pory możemy wykorzystać metody typu: Logger.debug, Logger.info, Logger.warn czy Logger.error do logowania informacji z aplikacji/modułu i będzie to wyświetlane w konsoli lub w zależności od ustawień może też być do pliku logu.

To co jest fajne to w konsoli jest kolorowanie informacji, więc łatwo wychwycić error.

Przy wykorzystaniu Logger z mix, konfigurację możemy zrobić globalnie w loku config.exs.

3 informacja na temat zmiennej/typu + pomoc

W iex, możemy za pomocą funkcji i(term) wyciągnąć informację na temat każdego typu danych. Bardzo przydatna funkcja.

Zaś za pomocą makra h(term) możemy dostać pomoc na temat danego elementu/funkcji/modułu.

4 skrócony zapis do..end

Jak już wiecie z listy słów kluczowych, blok do..end to nic innego jak bardziej czysty zapis wywołania metody z listą słów kluczowych. Czyli zapis:

if(x == 10) do
    true
else
    false
end

Można zapisać jako:

if x ==10, do: true, else: false

A że ostatni element coś zwraca więc możemy zrobić

someVar = if x ==10, do: true, else: false

5 wykonanie ponownie funkcji z iex

iex ma taki zwyczaj bardzo wkurzający – numerowania linii. To znaczy, był on wkurzający do tego momentu. Za pomocą funkcji v/1 wykonać polecenie o określonym numerze w iex.

iex(1)> 10
10
iex(2)> 3
3
iex(3)> v(1) - v(2)
7

Podsumowanie

To tyle na dzisiaj, kilka fajnych opcji i funkcji. Za tydzień wracam do testów!