ic10 v4.2.13
ic10
Простое использование
typescript :
import { InterpreterIc10, DevEnv } from "ic10"
;(async () => {
const mem = new DevEnv()
// подписываемся на ошибки
mem.on("error", (e) => console.error(e.format()))
// подписываемся на предупреждения
// mem.on("warn", (e) => console.warn(e))
try {
const a = new InterpreterIc10(
mem,
`
alias test d0
`,
)
await a.testCode()
} catch (e: unknown) {
console.error("Не предвиденная ошибка", e)
}
})()
Написание своего окружения
Тезисно:
- Наследуемся от
Environment
в get и set функциях используется "точечная" адресация
- адресация вида
a.b.c
означает что мы обращаемся к объектуa
и запрашиваем у него свойствоb
и у него свойствоc
Примеры:
- d0.Activate
- d0.Slots.1.Quantity
- d0.Reagents.{ReagentMod}.{ReagentHash}
- d0.Connection.{number}.Channel{number}
- адресация вида
добавляем устройства сначала в окружение
appendDevice
, а потом подключаем к портуattachDevice
в функциях
get
иset
обязательно должны быть эти строкиimport { dynamicDevicePort, dynamicRegister } from "./core/Helpers" name = dynamicRegister(this, name) name = dynamicDevicePort(this, name) // ---OR--- name = await dynamicDevicePortAsync(this, name) name = await dynamicRegisterAsync(this, name)
Это нужно, чтобы обрабатывать динамические адреса и динамические порты такие как
rrr1
иdrrr1
6 days ago
5 days ago
10 days ago
9 days ago
13 days ago
14 days ago
24 days ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
4 months ago
5 months ago
5 months ago
5 months ago
8 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
9 months ago
9 months ago
10 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago