List.Generate
List.Generate(initial as function, condition as function, next as function, optional selector as nullable function) as list
Sağlanan işlevleri kullanarak değerlerin listesini oluşturur.
initial
işlevi bir başlangıç adayı değeri oluşturur ve ardından condition
ile test edilir. Aday değer onaylanırsa, sonuç listesinin bir parçası olarak döndürülür ve onaylanan değer next
'e geçirilerek bir sonraki aday değer oluşturulur. Bir aday değeri condition
eşleştirilemedikten sonra, liste oluşturma işlemi durdurulur. Sonuçta elde edilen listedeki öğeleri dönüştürmek için isteğe bağlı selector
parametresi de sağlanabilir.
Ondan başlayarak, birer birer azalarak ve her öğenin sıfırdan büyük olmasını sağlayarak bir liste oluşturun.
Kullanım
List.Generate(() => 10, each _ > 0, each _ - 1)
çıkış
{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}
x ve y içeren kayıtların listesini oluşturun; burada x bir değer, y bir listedir. x değeri 10'dan az kalmalı ve y listesindeki öğe sayısını göstermelidir. Liste oluşturulduktan sonra yalnızca x değerlerini döndürür.
Kullanım
List.Generate(
() => [x = 1, y = {}],
each [x] < 10,
each [x = List.Count([y]), y = [y] & {x}],
each [x]
)
Çıkış
{1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}