Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Синтаксис
List.Generate(
initial as function,
condition as function,
next as function,
optional selector as nullable function
) as list
О сайте
Создает список значений с помощью предоставленных функций. Функция initial генерирует начальное значение кандидата, которое затем проверяется с помощью condition. Если значение кандидата одобрено, оно возвращается как часть итогового списка, а следующее значение кандидата генерируется путем передачи вновь утвержденного значения в next. Когда значение кандидата не соответствует condition, процесс создания списка останавливается. Необязательный параметр, selector, также может быть предоставлен для преобразования элементов в результирующем списке.
Пример 1
Создайте список, начиная с десяти, многократно уменьшая по одному, и гарантируя, что каждый элемент больше нуля.
использование
List.Generate(() => 10, each _ > 0, each _ - 1)
выход
{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}
Пример 2
Создайте список записей, содержащих x и y, где x является значением и y — это список. x должен оставаться менее 10 и представлять количество элементов в списке y. После создания списка возвращаются только значения x.
использование
List.Generate(
() => [x = 1, y = {}],
each [x] < 10,
each [x = List.Count([y]), y = [y] & {x}],
each [x]
)
выход
{1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}