自定义函数

函数的最大好处在于可以模块化程序,减少重复代码、复用已有功能,但是需要注意的是只有gawk,即GUN的awk实现才支持自定义函数的功能。

chapter_2_5-1.awk

function max(x, y) {
    i = 9;
    x = 10;
    m = 100;
    return x>y?x:y; 
}

BEGIN{
}
{
    i = 0;
    x = 5;
    result = max(10, 100);
    print("max: "result);
    print("i: "i);
    print("x: "x);
    print("y: "y);
    print("m: "m);
}
END{
}

$echo ""|awk -f chapter_2_5-1.awk
max: 100
i: 9
x: 5
y:
m: 100

函数的定义很简单,使用function关键字+函数名+参数名就可以了,这里特别要注意的是变量的生命周期范围,除形参x,y是函数内的局部变量外,所有进行了赋值操作的变量都是全局变量,在函数内进行了任何修改的话都会将修改结果带出函数外

results matching ""

    No results matching ""