# |
Jun 14th 2021, 20:07 |
jh |
so genug :) |
# |
Jun 14th 2021, 20:07 |
jh |
https://gist.github.com/kyanny/2026028 |
# |
Jun 14th 2021, 20:06 |
jh |
damit macht man auch rekursion |
# |
Jun 14th 2021, 20:06 |
jh |
switch ist quasi eingebaut in die sprache :) |
# |
Jun 14th 2021, 20:06 |
jh |
`_invalid` ist wie default im switch case |
# |
Jun 14th 2021, 20:06 |
jh |
``` defp parse_dob(nil), do: {:error, "dob is required"} defp parse_dob(dob) when is_integer(dob), do: {:ok, dob} defp parse_dob(_invalid), do: {:error "dob must be an integer"}``` |
# |
Jun 14th 2021, 20:06 |
jh |
Und dann gibt es noch funktionsüberladung, nicht wie in C sondern einfach mit unterschiedlicher arity und unterschiedlichen patterns |
# |
Jun 14th 2021, 20:05 |
jh |
https://openmymind.net/Elixirs-With-Statement/ |
# |
Jun 14th 2021, 20:05 |
kevin.pfeifer |
aber jeder wie er gerne developn will :) |
# |
Jun 14th 2021, 20:05 |
kevin.pfeifer |
jetzt hab ich gedacht die NodeJS Welt ist schon kompliziert aber es gibt immer was anders :,) |
# |
Jun 14th 2021, 20:05 |
jh |
wie in Haskell die do notation gibt es in Elixir with |
# |
Jun 14th 2021, 20:05 |
jh |
dann kann man sowas pattern matchen |
# |
Jun 14th 2021, 20:04 |
jh |
z.b. nach sowas wie `post |> Repo.save` |
# |
Jun 14th 2021, 20:04 |
jh |
`{:ok, post}` |
# |
Jun 14th 2021, 20:04 |
jh |
bei elixir kommen entweder irgendwelche daten (primitives, maps, listes) oder tuple |
# |
Jun 14th 2021, 20:04 |
jh |
bei unix kommen halt exit codes zurueck |
# |
Jun 14th 2021, 20:03 |
kevin.pfeifer |
puh ok |
# |
Jun 14th 2021, 20:03 |
jh |
ja ganz genau wie unix shell piping |
# |
Jun 14th 2021, 20:03 |
jh |
d.h. aller `state` der anwendung ist in laufenden prozessen |
# |
Jun 14th 2021, 20:03 |
kevin.pfeifer |
quasi wie eine linux | in der shell |
# |
Jun 14th 2021, 20:03 |
jh |
der nachteil ist dass man kein shared memory hat, der vorteil ist, dass man kein shared memory hat :) |
# |
Jun 14th 2021, 20:03 |
jh |
Piping ist wie `$this->` chaining nur dass man keine objekte braucht sondern quasi statische klassen und funktionen hat |
# |
Jun 14th 2021, 20:03 |
kevin.pfeifer |
spannend ^^ |
# |
Jun 14th 2021, 20:02 |
jh |
`"Hallo Welt!" |> substr(0, 5)` > "Hallo" |
# |
Jun 14th 2021, 20:02 |
kevin.pfeifer |
wenn man damit umgehen kann ist alles ok :) |
# |
Jun 14th 2021, 20:01 |
kevin.pfeifer |
ok |
# |
Jun 14th 2021, 20:01 |
kevin.pfeifer |
:see_no_evil: :,) |
# |
Jun 14th 2021, 20:01 |
jh |
`links |> rechts()` nimmt den wert links davon schiebt in in rechts rein an 1. stelle |
# |
Jun 14th 2021, 20:01 |
alamnaryab |
I also tried like that but then it is showing error: route missing `A route matching "array ( 'prefix' => 'Admin', 'controller' => 'Users', 'action' => 'login', 'plugin' => NULL, '_ext' => NULL, )" could not be found.` with attached file |
# |
Jun 14th 2021, 20:00 |
kevin.pfeifer |
was auch immer |> macht :,) |
# |
Jun 14th 2021, 20:00 |
jh |
Repo.update_all gibt da vermutlich einen count zurück `1` |
# |
Jun 14th 2021, 20:00 |
kevin.pfeifer |
und das |> interpretiere ich jetzt dass es quasi in die gleiche zeile eingentlichg ehört nur halt “schön formatiert” ist |
# |
Jun 14th 2021, 19:59 |
kevin.pfeifer |
aber ich bin z.b. kein Fan davon soviel wie geht in 1 zeile reinzustopfen |
# |
Jun 14th 2021, 19:59 |
jh |
du kennst doch php `list($foo, $bar) = $quux` |
# |
Jun 14th 2021, 19:59 |
kevin.pfeifer |
natürlich kenne ich die sprache jetzt net so |
# |
Jun 14th 2021, 19:59 |
jh |
warum? |
# |
Jun 14th 2021, 19:59 |
kevin.pfeifer |
so eine syntax is halt finde ich echt der graus :,) |
# |
Jun 14th 2021, 19:58 |
jh |
Ich lerne gerade, hier z.B. ein parser der text input in einen logischen baum umwandelt https://gist.github.com/inoas/66e3927bd37425706c7c44aaa5ddc2c1 |
# |
Jun 14th 2021, 19:58 |
kevin.pfeifer |
spannend |
# |
Jun 14th 2021, 19:58 |
jh |
die whatsapp server laufen auf erlang |
# |
Jun 14th 2021, 19:57 |
jh |
auf einem 4gb ram macbook |