Elixir'deki ikili ve dizgiler hakkında kafam karıştı. Benim bir fonksiyonum var. Bu, bir dizeyi temsil eden bir karakter kodları ikili döndürür, ancak bu dizeyi okunabilir bir şekilde nasıl yazdıracağımı anlayamıyorum. İkilinin bir karakter listesine dönüştürülmesini, daha sonra karakter listesini numaralandırmayı ve her karakteri bir dizgeye dönüştürmeyi düşünüyordum, ama bu pek çok işe benziyor. Daha iyi bir yolu var mı?Kömür kodları okunabilir dizgiden mi?
cevap
String.chunk/2
iex(1)> a = "Hello " <> <<0>> <> "World"
<<72, 101, 108, 108, 111, 32, 0, 87, 111, 114, 108, 100>>
iex(2)> String.chunk(a, :printable)
["Hello ", <<0>>, "World"]
http://elixir-lang.org/docs/stable/elixir/String.html#chunk/2
Ayrıca: I IO.inspect a, [{: binaries,: as_strings}] ', yazdırılamayan karakterlerden kaçar. – tkowal
Hey @tkowal, bunun nasıl çalıştığını sormak ister miydi? Elixir’de yeniyim. Liste "incelemek" için bir argüman mı? – KingDan
@KingDan Evet, denetlemek için ikinci isteğe bağlı argüman seçenekleri listesi: http://elixir-lang.org/docs/stable/elixir/Inspect.Opts.html – tkowal
söz konusu kodunu yapıştırın deneyin. – Istvan
@Brandon'a yanıt vermenin yanı sıra, lütfen benzer soruya verdiğim yanıtı inceleyin: http://stackoverflow.com/questions/36094791/shell-represents-binary/36099186#36099186 Sonunda, IO.inspect binary [ {: binaries,: as_strings}]. – tkowal