#import "Fraction.h"
void (^calculateTriangularNumber)(int) =
^(int n){
int i,triangularNumber = 0;
for(i=1;i<=n;i++)
triangularNumber += i;
NSLog(@"Triangular number %i is %i.\n",n,triangularNumber);
};
int main(int argc, const char * argv[]) {
@autoreleasepool {
calculateTriangularNumber(10);
calculateTriangularNumber(20);
}
return 0;
}
块是对C语言的一种扩展,块看起来像函数,可以给块传递参数,正如给函数传递参数一样,块也可以具有返回值。
与函数不同的是,块定义在函数或者方法内部,并且能够访问在函数或者方法范围内块之外的任何变量;一般来说,块会访问这些变量,但不做修改。