技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

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函数) 而控制不同模块文件的加载控制行为,但是这样的方式似乎仍然不够灵活,我们想要的是由逻辑驱动的行为选择,而不是一开始就指定好,那么继续尝试

posted on 2013-08-15 15:23  codestyle  阅读(179)  评论(0编辑  收藏  举报