Ana içeriğe geç

List.Generate

Bir değerler listesi oluşturur.

Syntax

List.Generate(
initial as function,
condition as function,
next as function,
optional selector as function
) as list

Remarks

Sağlanan işlevleri kullanarak bir değerler listesi oluşturur. initial işlevi daha sonra condition ile sınanacak bir başlangıç aday değeri oluşturur. Aday değer onaylanırsa sonuç listesinin parçası olarak döndürülür ve yeni onaylanan değer next öğesine geçirilerek sonraki aday değer oluşturulur. Bir aday değer condition ile eşleşmediğinde, liste oluşturma işlemi durur. Sonuç listesindeki öğeleri dönüştürmek için isteğe bağlı selector parametresi de sağlanabilir.

Examples

Example #1

On sayısından başlayıp tekrarlı şekilde bir azaltarak ve her öğenin sıfırdan büyük olmasına dikkat ederek bir liste oluşturun.

List.Generate(() => 10, each _ > 0, each _ - 1)

Result:

{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}

Example #2

x'in bir değer y'nin ise bir liste olduğu x ve y'ler içeren bir kayıt listesi oluşturur. x 10'dan az kalmalı ve y listesindeki öğelerin sayısını göstermelidir. Liste oluşturulduktan sonra yalnızca x değerlerini döndürür.

List.Generate(
() => [x = 1, y = {}],
each [x] < 10,
each [x = List.Count([y]), y = [y] & {x}],
each [x]
)

Result:

{1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Category

List.Generators