描述:
以文本形式表示多行多列网格代码。
语法:
#<TAB>A<TAB>B<TAB>…
行号[<空格>]<TAB>代码正文
…
注:<TAB>表示实际的TAB字符,<空格>表示实际的空格,方括号表示可选。
备注:
以文本形式表示多行多列网格代码,支持行号、列头、格内特殊字符转义和代码续行。
说明:
|
类型 |
说明 |
|
列头 |
以#开头的行表示代码列头,列间用TAB符分隔。 |
|
行号 |
有列头时,后续各网格行以行号1、2 …开头,行号后接TAB符,再开始代码正文。需要标记转义时,在行号与TAB之间增加一个空格。 |
|
无列头 |
无#行时,每行直接从代码正文开始,该用法之后会被逐步取消。 |
|
列分隔 |
同一网格行中,各单元格的代码之间用TAB分隔。空单元格通过保留相应分隔位置表示。 |
|
转义标记 |
行号后有一个空格,表示该行某单元格的代码可能经过转义,按转义规则解析,此类行不使用续行; 行号后无空格表示该行代码未被转义,若该行只有一格代码,则可能有续行。 |
|
转义条件 |
同一行有多格代码,且格内含有回车或TAB;或者同一行只有一格代码,且该格代码以TAB开头。这两种情况进行转义,其他情况不转义。 |
|
续行 |
对于未转义的代码,没有行号的后续文本行视为续行。续行前根据代码所在列自动补TAB符,保持对齐。 |
示例:
注意:以下 \n、\t 仅用于演示换行和TAB的转义,具体写法以实际实现为准。<TAB>表示实际的TAB字符,<空格>表示实际的空格。
Ø 普通单格代码
文本脚本:
#<TAB>A<TAB>B
1<TAB>=10
行号后没有空格,代码未转义。对应网格代码:
|
|
A |
B |
|
1 |
=10 |
|
Ø 同行多格有代码,格内含换行
文本脚本:
#<TAB>A<TAB>B
1<空格><TAB>第一行\n第二行<TAB>=20
行号后有空格,表示该行按转义规则解析。A1的换行以转义形式保存,对应网格代码:
|
|
A |
B |
|
1 |
第一行 第二行 |
=20 |
Ø 单格代码以TAB开头
文本脚本:
#<TAB>A<TAB>B
1<空格><TAB>\t代码内容
同一行只有一格代码,且代码以TAB开头时进行转义,对应网格代码:
|
|
A |
B |
|
1 |
代码内容 |
|
Ø 单格多行代码
文本脚本:
#<TAB>A<TAB>B
1<TAB>第一行
<TAB><TAB>第二行
<TAB><TAB>第三行
后面两行没有行号,因此作为B1的续行处理,对应网格代码:
|
|
A |
B |
|
1 |
|
第一行 第二行 第三行 |