block-arg-call-as.rs 354 字节
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use std;

fn asSendfn( f : sendfn()->uint ) -> uint {
   ret f();
}

fn asLambda( f : lambda()->uint ) -> uint {
   ret f();
}

fn asBlock( f : block()->uint ) -> uint {
   ret f();
}

fn main() {
   let x = asSendfn({|| 22u});
   assert(x == 22u);
   let x = asLambda({|| 22u});
   assert(x == 22u);
   let x = asBlock({|| 22u});
   assert(x == 22u);
}