Хванете ги с код
Не пропускайте да разберете думатарибка. Можете да използвате тази дума като 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. Аудиото не е добро, моля, изтърпете ме... скоро ще подобря качеството на звука.
Ако ви харесва, натиснете ❤
следва продължение….