Re: [Vala] valasemanticanalyzer error



On Fri, Aug 20, 2010 at 8:06 PM, Andrea Del Signore <sejerpz tin it> wrote:

If you want to use a lambda this is what I came with (see the map
function):

 public void map<I, T>(DFunc<I, T> fn, Gee.List<T> acc) {
   foreach (G i in this) {
     acc.add(fn(i));
   }
 }


Beautiful, thanks :)

martin

}

public class EnumerableList<G> : Gee.ArrayList<G>, Enumerable<G> {
}

public string f(int i) {
 return "%d".printf(i);
}

public static int main(string[] args) {
 var a = new EnumerableList<int> ();
 a.add(1);
 a.add(2);
 a.add(3);
 var b = new Gee.ArrayList<string> ();
 a.map<int, string>(f , b);
 foreach (string i in b) {
   stdout.printf("-- %s --\n", i);
 }
 b.clear ();
 //using a lambda
 a.map<int, string>((i) => { return "result: %d".printf (i); } , b);
 foreach (string i in b) {
   stdout.printf("-- %s --\n", i);
 }

 return 0;
}

HTH,
       Andrea






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]