awk的接口实现方案1

module/a.awk

function sum(a, b)

{

    return a + b

}

module/b.awk

function sum(a, b)

{

    return a * b

}

main.awk

END{

    print sum(3,4);  

}

调用方式:

echo "" | igawk -f main.awk -f module/a.awk

# 打印 7



echo "" | igawk -f main.awk -f module/b.awk

# 打印 12

这样也能体现接口的一种理念:让main.awk里的代码依赖接口(sum函数) 而控制不同模块文件的加载控制行为,但是这样的方式似乎仍然不够灵活,我们想要的是由逻辑驱动的行为选择,而不是一开始就指定好,那么继续尝试

你可能感兴趣的:(awk)