renanmuniz

renanmuniz

Hi people!
I’ve just started learning Elixir this week.

I executed this command in iex and the console output was really strange, could anyone tell me why?

Command:

Enum.chunk_every([1,2,3,4,5,6,7,8,9,10,11,12,13,14], 2)

Return:

[[1, 2], [3, 4], [5, 6], ~c"\a\b", ~c"\t\n", ~c"\v\f", [13, 14]]

What happened to the numbers 7,8,9,10,11 and 12?

Thank you all and have a great day!

Showing Posts 1 to 10

shawn_leong

shawn_leong

Hey @renanmuniz,

What’s happening is that [7,8], [9,10], [11, 12] are being interpreted as Charlists.

A charlist is a list of integers where all the integers are valid code points.

To see it as non-charlists, you can try piping it the result of your Enum.chunk_every/2 into an inspect/2 function.

inspect(result, charlists: :as_list)
renanmuniz

renanmuniz OP

Thanks @shawn_leong !
But why this happens only with this numbers(7~12) and not with all of them?

dimitarvp

dimitarvp

Because only those are printable (well, in this case they are escape characters for whitespaces but you get the idea).

renanmuniz

renanmuniz OP

So every time we need to check some return value, logging messages for example, we need to use the:

inspect(result, charlists: :as_list)

?

LostKobrakai

LostKobrakai

If you’re interested in the underlying integer values, yes. The problem is that erlang (being the system underlying elixir) does use charlists for text, which you generally also want to be able to read (and not see a list of numbers). Therefore elixir uses a heuristic to figure out which one you might be interested in. That heuristic is imperfect, but better than not having it.

You can find that discussed more elaborately in the docs: List — Elixir v1.20.2

dimitarvp

dimitarvp

Yes, kind of. Though in real production systems you want logging and telemetry traces / spans.

As for development environment, you can just create the file .iex.exs in your project’s root directory and put this there:

IEx.configure(inspect: [charlists: :as_list])

And you’ll have that behaviour for your each local iex session.

renanmuniz

renanmuniz OP

Got it, thank you @LostKobrakai!

renanmuniz

renanmuniz OP

Nice! Thanks @dimitarvp!
Think I’m done now!

smathy

smathy

*inspect: [charlists: :as_list]

dimitarvp

dimitarvp

Thanks, corrected.

— All posts loaded —

Where Next? Top

Trending in Questions Top

katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
achenet
Hello, I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind. However, when I launch mix phx.server, I get an error...
New
bradley
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
unaware8150
Hello folks! So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
Cxx-mlr
I’m working on a small exercise involving update_in/3, and I came up with this solution: data = %{ name: "Periodic Table", category:...
New
ChrisAmelia
I’ve got trouble wrapping my head around the order in which functions are called in this snippet (from Phoenix’s authentication): toke...
New
dillonoconnor
Is there any way to avoid the Hologram compiler running when using iex? It seems like the front-end code could potentially be disregarded...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews