我有 awk 的 gawk 版本。在gawk手册的这一部分中,说明了awk变量具有“属性”,用于确定在各种操作中如何对待它们。
例如," +3.14"
通过解析输入获得的形式的字符串具有STRNUM
属性,这使得它在与数字进行比较时表现为数字,而在 awk 程序中定义的相同字符串没有该属性。
OTOH,像这样的字符串"3.14"
显然具有STRNUM
属性,即使它是在程序中定义的,因为代码x = "3.14" { print x == 3.14 }
打印 1。而如果我们将其定义为"+3.13"
or " 3.14"
,它没有STRNUM
属性,因为x = "+3.14" { print x == 3.14 }
orx = " 3.14" { print x == 3.14 }
打印 0。
我认为变量类型的这种简洁性可能会导致细微的错误。因此,为了帮助调试这种情况,有没有办法了解变量具有什么类型的“属性”?即,我们可以了解变量的类型吗?