【教程】4. 读写(Reads and Writes)运算符的使用
读写 Reads and Writes:
- V variable('write, read): 读取或写入全局变量
- G generator('x, 'y, 'len): 在指定坐标位置写入多个运算符
- Q query('x, 'y, 'len): 在指定坐标位置读取多个运算符
- P push('len, 'key, val): 写入一个在东方向的运算符
- T track('len, 'key, val): 读取一个在东方向的运算符
- O offset('x, 'y, val): 读取一个指定坐标位置的运算符
- X teleport('x, 'y, val): 写入一个指定坐标位置的运算符
V:
写入 var1 V var2
读取 V var
写入时,相当于 var2 赋值给 var1,读取时 var 的值会出现在 V 的南方格子中
如下图,给 c 写入 1,再读取 c,则为 1;给 a 写入 b,再读取 a,则为 b
G:
x y len G op...
x y 1 G op1
x y 2 G op1 op2
(x,y)为写入运算符的坐标,坐标原点(0,0)是 G 南方的第一个格子,len 是要写入的运算符数量,G 的东方要写出每个运算符(也可以空着)
如下图写入坐标为(2,1),要写入两个运算符,分别是 A 和 1,A 同时又是相加,在 A 的东方第二个格子可以继续输入需要的内容
Q:
x y len Q
(x,y)为读取运算符的坐标,坐标原点(0,0)是 Q 东方的第一个格子,len 是要写入的运算符数量,Q 的南方会显示读取到的运算符,Q 的正下方是倒数第一个,依次倒着向西方
如下图读取坐标为(3,4),要读取三个运算符,在读取坐标上是 1,a 和 3,于是在 Q 的南方会显示读取到的运算符
G & Q:
当 G 和 Q 同时使用,用 Q 来读取 G 写入的,G 在相对于 G 的坐标(2,1)下写入 A 和 1,A 和 1 相对于 Q 的坐标为(4,0),所以 Q 读取(4,0)的运算符就为 A 和 1
P:
len key P val
P 可以创建一个队列,如下图的粉色,key 代表这个队列的长度,len 代表当前队列的顺序,这个队列是从 0 开始的,下图中 2 就代表着队列中的第 3 个,4 就代表着队列中第 5 个,val 为写入的运算符,图一是把第 3 个写入为 2,图二则是把第 5 个也写入为2
结合一些变化运算符就可以创造出一个不断变化的队列
T:
len key T val
P 可以创建队列,那么 T 就是来读取队列的,key 代表这个队列的长度,len 代表当前队列的顺序,这个队列是从 0 开始的,下图中 1 就代表着队列中的第 2 个,3 就代表着队列中第 4 个,val 为要读取的运算符,读取出的运算符出现在 T 的南方第一个格子中,图一读取的为 a,图二读取的为 b
同样地加入一些变化运算符,就可以读取整个或者部分队列
P & T:
当 P 和 T 同时使用,用 T 来读取 P 写入的,P 写入的第 3 个是 d,T 读取同一个队列的第 3 个,也就是 d
O:
x y O val
(x,y)为读取运算符的坐标,坐标原点(0,0)是 O 东方的第一个格子,val 是要读取的运算符,O 的南方第一个格子会显示读取到的运算符
如下图读取坐标为(1,2),在读取坐标上是 3,于是在 O 的南方会显示读取到的运算符
X:
x y X val
(x,y)为写入运算符的坐标,坐标原点(0,0)是 X 南方的第一个格子,val 是要写入的运算符
如下图写入坐标为(1,2),就是要在(1,2)上写入运算符 A,相应的也可以进行 A 的运算
O & X:
当 O 和 X 同时使用,用 X 来读取 O 写入的,X 在其相对坐标(1,2)下写入 A,同时相对于 O 的坐标为(3,1),O 的读取也就为 A