kw msg
Зарезервированное слово
Список слов: §1.4
Синтаксис
ActorMember = { Attr } ( "var" Ident ":" Type "=" Expr | "dep" Ident ":" Type
| "msg" Ident "(" [ Params ] ")" [ "->" Type ] Block
| "on" ( "activate" | "passivate" ) Block ) ;Грамматика: Прил. A
Определяется в
- 8.8 Локальные акторы — Сообщения обрабатываются строго по одному в порядке поступления от каждого отправителя.
- 12.5 Шардированные акторы — Ключ объявляется в заголовке (sharded by имя
- 13.4 Авторизация и политики — Объект политики
- 6.6 Паника — Причины: переполнение, деление на ноль, выход за границы, x!
- 1.4 Ключевые слова — Зарезервированные (нельзя использовать как имена)
- 5.6 Циклы — for принимает Iterable<T> (в том числе iter<T>, коллекции, диапазоны); for await — Streamable<T>.
- 6.5 Ошибки — Исключений нет. Ошибка — значение типа, помеченного @error, возвращаемое через объединение.
Примеры
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)Связанные диагностики
actor-cycle, actor-not-hosted, data-rights, missing-policy, unknown-policy-target, break-value, outside-loop, fail-type, question-context, unhandled-error