|
以下为根据实际操作推测,不一定是实际情况
内容简单地说了
1.以线形格式在内存中存储,每个字节都附带一个层的ID,ID的分配是堆栈(官方说法,有些怀疑=.=),防止错误操作(例如在双框Log的大框里输入右括号,不会把Log框打散)
2.几类字符较特殊:
a.左括号类,包括sin(等的函数、根号、微积分等,加入某个层
b.右括号,结束某个层
c.空格,移动光标时移过此位置会跳过一格
d.逗号,分隔多个并行的层
3.Ins的方法是先插入前部分数据,从所在位置开始寻找下层位置的结束点(不对外显示的括号),插入后部分数据,如果中间没有下一层数据就插入空格。如果下一层是没有结束的(例如一种无结尾根号),后部分数据就无法插入,也就会继承无结束的特性
4.Del的方法是先截出它内部的下一层数据,删除其主体,再把上层数据的空格、结束点补充好。但是有时结束点会留给下一层数据(例如两个套在一起的无结尾根号,删除外边一个,如果没有溢出,里边的那个就会变成有结尾根号,但是可能还是无空格的,区别方法就是在中间输入字符,再删掉,看是否补出空格)
5.当组ID无法分配(达到其设定范围)时,就无法继续输入相应内容了,组ID超出其设定范围时,就会造成溢出(在ES Plus可能是遇溢出即退回一步操作,以防止打出r)
6.计算时,是按层依次计算的,每个指令进行堆栈,分优先级。而不是直接全部转化为线性。具体的计算就是按照各自函数的计算方式
本文不定期补充 |
评分
-
查看全部评分
|