os库
os库ecute 1.7.83引入的官方库,在默认情况下不被自动挂于项目中,需要在项目根目录执行命令
ecute i os
这样就可以在项目中访问os库。注意,如果要使用os库,必须使用ecute 3语法,方式如下:
// #use ecute & 3
use "os";
use "writer";
const os = ,;
const writer = ,;
O-P写法
O写法
{__system__}
在上方的代码块中,我们发现,有一个大括号{}扩住一些文字。文字的左右两边各是两个下划线,中间是内容。这是O-P写法中的O写法,即OS或System。使用大括号和两个下划线的配合,使他成为一个系统等级,无法被修改。
例如:
var myVar = "{__system__}";
myVar = "HelloWorld";
ecute.log(myVar);
/*
结果:
{__system__}
*/
P写法
__container__
在上方的代码块中,我们会发现container位于左右两边各两个下划线之间。这就是P写法。P写法的官方定义是“本地量位于双界符之间,且不得位于单界符之前或之中。”双界符,就是两个下划线__,单界符即一个下划线_。
上面__container__代码全容器的量,即全容器发生变化时,所有__container__字符串对应的操作也会发生变化。这就相当于ecute中的call:如果A发生变化,发送C给B。但是使用call性能不足,于是ecute 3就将所有本地综合量创建了P写法字符串。
并且P写法的字符串是可以更改的,但是在本地量更改后会重新覆盖原本的量。例如:
var abc = "__container__";
console.log(abc); //__container__ (P)
abc = "HelloWorld";
console.log(abc); //HelloWorld
container.self.do(Math.random());
console.log(abc); //__container__ (P)
OFE
OFE全程 OS Finder Order,意思是系统发现者执行顺序。什么是发现者,发现者就是检测OP写法更改的功能,如果OP字符串被更改,那么就会出发OFE。
Order是顺序或者制度的意思,他规定了要从哪个方面去观察、观察的顺序是什么。假设我们有个功能,叫做a,我们使用发现者观察a下面的b。那么order就是a,finder就是b。finder在order里面观察。
// #use ecute & 3
use "os";
use "writer";
const os = ,;
const writer = ,;
let canmove;
writer.createBoard(100,100);
os.ofe(writer,"__click__",()=>{
canmove = true;
})
os.ofe(writer,"__move__",(e)=>{
if (!canmove) return false;
writer.writer(os.ev,"black",e.client.position.pathX,e.client.position.pathY);
})
os.ofe(writer,"__up__",(e)=>{
canmove = false;
})
os.ofe监视器,监视__click__是否变化,如果writer被点击,那么就会更改__click__的状态,os.ofe检测到了click,那么就会执行里面的代码。
没有回复内容