OxL Справочник OxL
РусскийEnglish

kw scope

Зарезервированное слово

Список слов: §1.4

Синтаксис

ebnf
Scope       = "scope" Block ;

Грамматика: Прил. A

Определяется в

Примеры

oxl
let (a, b) = scope {
  let ha = spawn loadA()
  let hb = spawn loadB()
  (ha.join()?, hb.join()?)
}

— 8.5 Структурная конкурентность

oxl
let prices = Broadcast<Tick>(buffer: TICK_BUFFER, slow: .DropOldest, replay: 1)

scope {
  spawn { for await t in Exchange.feed() { prices.publish(t) } }
  spawn { for await t in prices.subscribe() { ui.render(t) } }
  spawn { for await t in prices.subscribe() { stats.add(t) } }
}

impl Market {
  rpc ticks() -> stream<Shared<Tick>, Lagged> => prices.subscribe()   // каждому клиенту
}

— 10.4 Broadcast — локальная рассылка

Связанные диагностики

spawn-outside-scope, task-reuse

См. также