带有反斜杠的字符串宏\

时间:2016-09-23 07:17:04

标签: macros julia

是否可以将单个尾随\字符传递给字符串宏?

macro test_str(s)
    s
end

test"\\"  # results in \\, that is two backslashes
test"\"   # does not parse ... the " is treated as escaped

2 个答案:

答案 0 :(得分:5)

这是一个解决方法,但您可以直接调用宏 - 作为宏而不是字符串宏

{{1}}效果很好。

答案 1 :(得分:1)

一种方法是将功能实现为字符串宏本身的一部分。忽略性能,一种简单的方法就是replace(s, "\\\\", "\\")

macro test_str(s)
    replace(s, "\\\\", "\\")
end

然后

julia> test"\\"
"\\"

确实只是一个反斜杠。