Wpis z mikrobloga

Kolejny post dotyczący klienta BitTorrent. Tym razem proste wprowadzenie do Bencode i implementacja metody encode. Oraz budowanie podstawy do kolejnych postów. Nie za dużo ale też nie za mało.

Pytanie, czy da się lepiej napisać encode?

https://blog.gutek.pl/2017/03/14/elixir-28-bencode/

#elixir #bittorrent #programowanie #informatyka #technologia #gutek #gutekpl #projekt365
jgutkowski - Kolejny post dotyczący klienta BitTorrent. Tym razem proste wprowadzenie...

źródło: comment_bG8C45TIdFe0d9Pjui0hpvVz4SAskAxG.jpg

Pobierz
  • 4
  • Odpowiedz
@jgutkowski: literóweczka się wkradła defp do_encode([]]), do: "le"
defp do_encode(map) when is_map(input) and map_size(map) == 0, do: "de" ----> is_map(map)
chociaż lepiej spójnie napisać wszędzie input
  • Odpowiedz
@jgutkowski: co do samego kodu to nie bardzo podoba mi się |> (&("l#{&1}e")).(), troszkę hack, żeby użyć |>
nie wiem czy nie lepiej by było klasycznie:

val = Enum.reduce(input, "", &(&2 <> encode(&1)))
"l#{val}e"

Pipeline jest fajny, ale czasem nadużywany.
  • Odpowiedz