Fungsi lipatan
Peringatan
Dokumentasi ini mengacu pada QDK Klasik, yang telah digantikan oleh QDK Modern.
Silakan lihat https://aka.ms/qdk.api dokumentasi API untuk QDK Modern.
Namespace: Microsoft.Quantum.Arrays
Paket: Microsoft.Quantum.Standard
Melakukan iterasi fungsi f
melalui array array
, mengembalikan f(...f(f(initialState, array[0]), array[1]), ...)
.
function Fold<'State, 'T> (folder : (('State, 'T) -> 'State), state : 'State, array : 'T[]) : 'State
Input
folder : ('State,'T) -> 'State
Fungsi yang akan dilipat di atas array.
state : 'State
Status awal folder.
array : 'T[]
Array nilai yang akan dilipat.
Output : 'Status
Status akhir yang dikembalikan oleh folder setelah melakukan iterasi di semua elemen array
.
Jenis parameter
'Status
Jenis status yang folder
dioperasikan fungsi, yaitu, menerima sebagai argumen pertama dan kembali.
'T
Jenis array
elemen.
Contoh
function Plus(a : Double, b : Double) {
return a + b;
}
function Sum(xs : Double[]) {
return Fold(Plus, 0.0, xs);
}