zpcalm 发表于 2016-05-31 09:14

awk数组print (a in arr)。。。

awk 'BEGIN{a="b";arr="b";arr="c";print (a in arr);}'
0
awk 'BEGIN{a="b";arr="b";arr["b"]="c";print (a in arr);}'
1
谁能解释下,谢谢,第一个答案为0,第二个为1

我是一隻羊 发表于 2016-05-31 09:48

为什么会发在活动区...shell版是不是会好些....

首先print (a in arr)打印的是 (a in arr)的T/F值.

然后(a in arr)判断的是a是不是数组arr的下标.

第一个awk命令里,arr的下标是0和1,其中没有变量a的值,所以(a in arr)不为真,返回0
第二个awk命令里,arr的下标是0和b,其中b是变量a的值.所以(a in arr)为真,返回1

action08 发表于 2016-06-10 19:41

恩,还是转过去吧
页: [1]
查看完整版本: awk数组print (a in arr)。。。