在awk中,可以使用以下命令删除先前定义的数组:
delete array;
或:
for (i in array)
{
delete array[i];
}
是否可以定义一个用户函数将数组作为输入然后删除它?例如:
function delarr(arrname)
{
delete arrname;
}
BEGIN {
array[1] = "1";
array[2] = "2";
print array[1];
delarr(array);
}
答案 0 :(得分:3)
你的例子正常。
来自gawk manual:
在awk中,当你声明一个函数时,没有办法明确声明参数是通过值还是通过引用传递的。
相反,根据以下规则,在调用函数时在运行时确定传递约定:如果参数是数组变量,则通过引用传递。否则,参数将按值传递。
POSIX推荐相同的行为:
如果是标量,则函数参数应按值传递,如果是数组名,则按值引用。