zcking
I’m trying to figure out how to print out the contents of a string variable, without it interpreting the characters like \n and \t as newlines and tabs. I want to display the “raw” string such as you would do with ~S(raw \n string \t here), however, I cannot pass a variable or interpolate with that sigil.
Is there an idiomatic way to do this with Elixir?
Trending in Questions
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
Hi everyone.
My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
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
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
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
How Can I Optimise Compile Time Dependencies
I have been building an elixir application for about 2 years now. Many modules and files ha...
New
Other Trending Topics
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
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
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
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with.
But I don’t use it anymore.
Serverless was the promis...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #ai
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #metaprogramming











Showing Posts 1 to 6- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
kip
I think
IO.inspectmay be what you want:Note that these are not “interpreted”; in the string is the actual character. It is only
IO.inspectthat is interpreting the string and replacing the actual character with the escape sequence\nand\t.zcking
Apologies, I made a mistake by saying my goal is to “print” the string. I’m writing a function which returns a string, that way the client of my library can print the string wherever they want, or send it to some other I/O mechanism.
IO.inspect/1prints to stdout and returns the string as-is, without escaping. I suppose alternatively, I could add adeviceargument which defaults to:stdioin favor of the stdlib’sIO.inspectfunction, and then instead of returning a string I could have my function callIO.inspect/2and pass thedeviceargument to it.kip
Or just call
Kernel.inspect/2:Yes, the leading and trailing part might need to be trimmed if you need. But it seems closer to what you’re after - an escaped string.
zcking
Yes!!
Kernel.inspect/2is exactly what I was looking for, thank you! As an elixir rookie, I didn’t know about theKernel.inspectfunction–only theIO.inspect, and somehow missed it in the docs.9mm
Can I hijack this thread and ask how you’re supposed to print stuff without them being interpreted as char lists in the output?
kip
Kernel.inspecthas options to control this viaInspect.Opts:As an example:
You can tell
IExto default to this behaviour by: