Java : 高階関数
abstract class Iter { int m = 1; Iter(int n) { m = n; } int call(int i) { for (int c=0; c<m; ++c){ i = f(i); } return i; } abstract int f(int i); } public class Main { public static void main(String[] args) { System.out.println ( new Iter(10) { int f(int i){ return i+i; } }.call(1)); } }