Хванете ги с код

Не пропускайте да разберете думатарибка. Можете да използвате тази дума като suspect или shady. Просто искам да изложа тези сенчестинеща на светлина за начинаещи.

1. Намиране на ширината и височината на терминала

2. Долна черта в представянето на числа

Можете да посочите долна черта десетичните числа може да съдържат долна черта
(_ )те често се използват за разделяне на групи от три цифри при писане на големи числа, така че един милион може да бъде написано 1_000_000 (или може би 100_0000 в Китай и Япония или 10_00_000 в Индия).
Можете също така да извършвате всякакви аритметични операции, тъй като те са само числа.

number = 1_000_777
number + 7_000

3. Време за изпълнение на функцията

4. Празно съвпадение на шаблон на карта

%{} = %{name: "blackode"} # pattern matches
%{name: "blackode"} = %{} # pattern do not match here.
%{name: "blackode"} = %{name: "blackode",age: "hello"}#match pattern

5. Безкрайни потоци

(1..10_000_000)|> Enum.map(&(&1))|> Enum.take(5) 

Горният ред отнема почти 8 секунди

(1..10_000_000)|> Stream.map(&(&1))|> Enum.take(5)

Вижте магията, след като изпълните тези два реда.

6. Списъци със знаци [ срещу ] числа

[67,65,84]
'CAT'            # Out put of above list.

В списъка, ако всички числа са от печатаеми знаци, те не се считат повече за **число**, за разлика от очакванията ни. Така че внимавайте със списъците.

7. Едноредов модул и дефиниции — Няма повече край

Няма нужда да указвате **end** всеки път, когато пишете модула.

defmodule M, do: (
                   def hi, do: (IO.puts "Hi!")
                   def hello, do: (IO.puts "Hello!!") 
                   def bye, do: (IO.puts "Bye!!")
                  )

Можете да използвате само скобите скоби за разделяне на няколко реда код в do block.

8. #iex: прекъсване

Ще има ситуация, че когато въведете грешка, няма къде да се върнете назад или да завършите този ред от код.

iex(1)> ["ab 
...(1)> c" 
...(1)> " 
...(1)> ] 
...(1)> #iex:break ** (TokenMissingError) iex:1: incomplete expressionThis helps you to come out of the loop.

9. Shell променливи в IEx

Ако искате да проверите всички променливи, които са дефинирани в текущата обвивка iex, просто направете binding()

binding()

Това връща списъка с двойки ключови стойности с име на променлива като ключ и неговата обвързана стойност.

10. Верижни анонимни функции

wish = fn -> fn -> fn -> IO.write "this is chain" end end end
wish.().().()   # usage

11. Множество или условия — в

number = fn(num) when num in [1,2,3,4,5] -> IO.write num end

Този код работи само ако подадете num стойност 1<=num<=5 в противен случай връща non match function class error.

Тъй като носителят е предназначен за средни статии, които трябва да бъдат със среден размер. Така че ще бъда кратък и сладък и ще се срещнем в следващата част, която ще обхване повече теми...

Току-що се сетих да говоря за тази статия и искам да покажа кодовите фрагменти, като изпълня себе си. И така, направих видеоклип в YouTube. Аудиото не е добро, моля, изтърпете ме... скоро ще подобря качеството на звука.

Ако ви харесва, натиснете ❤

следва продължение….