Spec-Zone.ru › Nim

std/enumerate

Исходный код Редактировать

Этот модуль реализует enumerate синтаксический сахар, основанный на макросистеме Nim.

Импорты

since, macros

Макросы

macro enumerate(x: ForLoopStmt): untyped

Итератор перечисления для коллекций.

Он возвращает (count, value) кортежи (которые должны быть немедленно распакованы). Значение начального счётчика 0 можно вручную переопределить при необходимости.

Пример:

let a = [10, 20, 30]
var b: seq[(int, int)] = @[]
for i, x in enumerate(a):
  b.add((i, x))
assert b == @[(0, 10), (1, 20), (2, 30)]

let c = "abcd"
var d: seq[(int, char)]
for (i, x) in enumerate(97, c):
  d.add((i, x))
assert d == @[(97, 'a'), (98, 'b'), (99, 'c'), (100, 'd')]
Исходный код Редактировать

© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/enumerate.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API