kw actor
Зарезервированное слово
Список слов: §1.4
Синтаксис
Actor = "actor" Ident [ "sharded" "by" Ident ":" Type ] "{" { ActorMember } "}" ;Грамматика: Прил. A
Определяется в
- 1.4 Ключевые слова — Зарезервированные (нельзя использовать как имена)
- 3.4 Объявляемые типы — data — тип-произведение с именованными полями (§4.2).
- 8.8 Локальные акторы — Сообщения обрабатываются строго по одному в порядке поступления от каждого отправителя.
- 12.5 Шардированные акторы — Ключ объявляется в заголовке (sharded by имя
Примеры
actor Session {
var cart: Cart = Cart.empty()
msg add(item: Item) { cart.push(item) }
msg total() -> Money { cart.sum() }
}
let s = spawn Session() // ActorRef<Session>
s.add(item) -> s.total() -> show(it)@idle(ACCOUNT_IDLE)
actor Account sharded by id: AccountId {
var balance: Money = Money.zero()
@transient var hits: u64 = 0
on activate { log.debug("account {id} up") }
msg deposit(x: Money) { balance += x }
msg balance() -> Money { balance }
}
Account(id).deposit(amount)Связанные диагностики
unknown-type, actor-cycle, actor-not-hosted