Skip to content

快速开始

安装

sh
npm add imsure

马上学会

现在,我们来学习如何用代码实现上一章节里的示例。

ts
// Finite State Machine
const State = typedef({
    A: int32,
    B: int32,
    C: int32,
    D: int32,
    E: int32,
    X: int32,
    Y: int32,
})

ruledef(State, 'A', { '@or': true, X: true, Y: true }, (self) => {
    self.A = self.X + self.Y
})

ruledef(State, 'Y', { '@or': true, D: true, E: true }, (self) => {
    self.Y = self.D - self.E
})

ruledef(State, 'X', { '@or': true, B: true, C: true }, (self) => {
    self.X = self.B * self.C
})

const state = typeinit(State)
state.E = 1 // (A: -1, Y: -1, X: 0)
state.C = 2 // (A: -1, Y: -1, X: 0)
state.B = 3 // (A: 5, Y: -1, X: 6)
state.D = 4 // (A: 9, Y: 3, X: 6)

恭喜!你已经学会了。

MIT Licensed