Fungsi Currying Java dan Penerapannya
Contoh:
Perhatikan fungsi berikut ini:
f:(u,v)-> w
Currying akan menghasilkan fungsi:
g: (u->(v->w))
Fungsi g memetakan nilai u dari fungsi v ke fungsi w. Berikut ini bentuk persamaan matematis dari representasi nilai sebelumnya:
g(u)(v)=f(u,v)
karena itu, curry(f)=g
// Program Java
// mendemonstrasikan fungsi
// currying
import java.util.function.Function;
public class MKN {
public static void main(String args[])
{
// menggunakan fungsi Java 8
// untuk membuat fungsi
// currying
Function<Integer, Function<Integer, Integer> > curryAdder = u->v->u+v;
// memanggil fungsi currying
System.out.println("Tambah 2, 3 :"
+ curryAdder
.apply(2)
.apply(3));}
}
// Program Java
// mendemonstrasikan fungsi
// currying
import java.util.function.Function;
public class MKN {
public static void main(String args[])
{
// menggunakan fungsi Java 8
// untuk membuat fungsi
// currying
Function<Integer, Function<Integer, Integer> > curryMulti = u -> v -> u * v;
// memanggil fungsi currying
System.out.println("Perkalian"
+" 2, 3 :"
+curryMulti
.apply(2)
.apply(3));}
}
Contoh: penjumlahan 3 bilangan menggunakan fungsi currying
// Program Java
// mendemonstrasikan fungsi
// currying
import java.util.function.Function;
public class MKN {
public static void main(String args[])
{
// menggunakan fungsi Java 8
// untuk membuat fungsi
// currying
Function<Integer, Function<Integer, Function<Integer, Integer> > > triadder = u->w->v->u+w+v;
// memanggil fungsi currying
System.out.println("Tambah 2, 3,"
+" 4 :"
+triadder
.apply(2)
.apply(3)
.apply(4));}
}
Apa yang dimaksud dengan currying pada bahasa pemrograman Java?
BalasHapusCurrying adalah teknik yang digunakan untuk mengubah fungsi dengan beberapa argumen menjadi fungsi yang hanya terdiri dari satu argumen. Argumen tunggal adalah nilai argumen pertama dari fungsi asli dan fungsi tersebut mengembalikan fungsi argumen tunggal lainnya.
HapusBagaimana fungsi curry digunakan dalam pemrograman Java?
BalasHapusFungsi curry adalah fungsi yang mengambil beberapa parameter satu per satu, dengan cara mengambil argumen perama, dan selanjutnya mengembalikan serangkaian fungsi yang masing-masing mengambil argumen berikutnya hingga semua parameter diselesaikan, dan aplikasi fungsi dapat diselesaikan pula sesuai dengan titik yang menghasilkan nilai return-nya.
HapusBerarti lebih kebentuk penyerderhanaan deklarasi supaya beberapa argumen dapat dieksekusi secara lebih efisien.
BalasHapus