Comments (4)
This is because escape_string(s; keep=('"',))
is actually escape_string(s, ('"',); keep=('"',))
and the esc
argument takes precedence over keep
. You can work around this via:
julia> escape_string(s, (); keep=('"',))
"\""
This does seem to be something that should be at a minimum fixed in the documentation.
from julia.
ah, I see, thanks. That was not what I expected, as I figured the 2nd positional arg represented the set of additional characters that would be escaped, on top of the default ones.
from julia.
This does seem to be something that should be at a minimum fixed in the documentation.
It is mentioned in the docstring:
The optional
esc
argument specifies any additional characters that should also be
escaped by a prepending backslash ("
is also escaped by default in the first form).The argument
keep
specifies a collection of characters which are to be kept as they
are. Notice thatesc
has precedence here.
Do you have suggestions on how this could be made more explicit?
from julia.
Ah, thanks, I guess I missed or misunderstood that part of the docstring.
I think that part that's not super clear in the docstring is that \n
and "
are both escaped by default, but are handled differently.
\n
and friends are sort of "implicit" defaults, and you can prevent them from being escaped by adding them to keep
. "
is different in that:
- it's only escaped if you're returning a string instead of writing to an IO stream
- if you want to prevent it from being escaped you need to remove it from
esc
rather than adding it tokeep
(@omus it turns out you don't actually need to add it tokeep
at all).
Can anyone shed some light as to why it's implemented this way? I'm happy to take a crack at clarifying the docstring, but I think I'd want to include some extra context for the why.
from julia.
Related Issues (20)
- Confusing error when defining a method within nested testsets
- [FEATURE] Using Right Arrow Key to Auto Complete Virtual Text?
- should matrix-vector mul! also protect against aliasing? HOT 2
- code reports an error to line 0 HOT 6
- Average of Dates HOT 15
- safety consideration for operations with incompletely initialized types HOT 2
- Dimension check too restrictive in copytrito! and lacpy!
- LLVMPtr's address space annotation is lost with opaque pointers
- Exception: EXCEPTION_ACCESS_VIOLATION at 0x7ffad71a9977 -- gc_setmark_pool_ HOT 9
- confusing error thrown by `display` HOT 1
- Make `ScopedValues.get` a method of `Base.get` HOT 7
- Julia without libstdc++ HOT 8
- `--threads` option seems to now result in segfault in `jl_init_thread_heap` (`julia/src/gc.c:3992`) HOT 1
- `strings/annotated` test relies on that StyledStrings have been loaded HOT 1
- Not all `StridedArray`s follow the strided array API
- GC could do with more consolidated intro user documentation
- Stackoverflow without stacktrace when `convert`ing large tuple HOT 4
- `atexit()` finalizers should not run after encountering `SIGSEGV`
- `@code_llvm` with `debuginfo=:none` does not remove all debug info on Julia 1.11 HOT 4
- Conflation of UInt8 and Int8 in search functions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from julia.