public void main () { var list = new Gee.ArrayList (); list.add ("Kolan"); list.add ("Inna"); list.add ("Stalk"); print ("--- .foreach method ---\n"); list.foreach ((elem) => { print (elem + "\n"); return true; }); print ("--- foreach (var ---\n"); foreach (var elem in list) print (elem + "\n"); //BAD (doesn't work): for (var it = list.bidir_list_iterator (); it.has_next (); it.next ()) print ("--- Internal iterator ---\n"); var iter = list.bidir_list_iterator (); for (var has_next = iter.first (); has_next; has_next = iter.next ()) print (iter.get () + "\n"); }