我正在使用awk。我想模块化我的代码,我想知道在函数内声明的变量是本地的还是全局的。例如
main script
update()
function update()
{
array[1]="hi"
}
我想知道在函数内声明的数组是本地的还是全局的..如果它不是本地的那么..在awk中局部变量的概念是什么。
答案 0 :(得分:4)
他们是全球性的:
awk 'function update() { array[1]="hi" } BEGIN { update(); print array[1];}'
hi
要使它成为本地的,你需要一个小技巧,将其作为参数传递:
awk 'function update(array) { array[1]="hi" } BEGIN { update(); print array[1];}'