# A B …

阅读(11) 标签: 脚本文件, 行号, 列头, 字符转义,

描述:

以文本形式表示多行多列网格代码。

语法:

  #<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

 

第一行

第二行

第三行