如果我们学过Lua/Python语言,应该知道它们是支持长文本的(当然,在Java新版本也是支持长文本的,不过我还在用Java8),
举例:
Lua语言:
1 | function main() |
Python语言:
1 | def __main__(): |
我的远古时代的Java8:
1 | public static void main(String[] args) { |
可以看到,长文本支持直接换行,而我远古时代的Java8还得拼接(不过idea有支持可以自动拼接)
这无疑是一个很好的特性,所以结绳4.0也引入了长文本,我们来看结绳4.0是如何实现的。
从上面代码看来,Lua语言的长文本符号比较好看’[[]]’,也比较形象,所以结绳4.0的长文本符号也是[[]],
首先我们要知道,将一串长文本转换为普通文本需要做些什么:
(1)将换行转义为\n
(2)将”转义为"
(3)一些细节处理
OK,其实只要知道上面这三个就知道怎么做了,在解析代码时,直接将长文本解析为普通文本(/手动狗头)