是否可以将单个尾随\
字符传递给字符串宏?
macro test_str(s)
s
end
test"\\" # results in \\, that is two backslashes
test"\" # does not parse ... the " is treated as escaped
答案 0 :(得分:5)
这是一个解决方法,但您可以直接调用宏 - 作为宏而不是字符串宏
{{1}}效果很好。
答案 1 :(得分:1)
一种方法是将功能实现为字符串宏本身的一部分。忽略性能,一种简单的方法就是replace(s, "\\\\", "\\")
。
macro test_str(s)
replace(s, "\\\\", "\\")
end
然后
julia> test"\\"
"\\"
确实只是一个反斜杠。