İngilizce dilinde oku

Aracılığıyla paylaş


List.Generate

Sözdizimi

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

Hakkında

Sağlanan işlevleri kullanarak değerlerin listesini oluşturur. initial işlevi bir başlangıç adayı değeri oluşturur ve ardından conditionile 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 conditioneş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ı selectorparametresi de sağlanabilir.

Örnek 1

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}

Örnek 2

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}