All of the functions that return values from gawk
work in the same way. You pass in an awk_valtype_t
value
to indicate what kind of value you expect. If the actual value
matches what you requested, the function returns true and fills
in the awk_value_t
result.
Otherwise, the function returns false, and the val_type
member indicates the type of the actual value. You may then
print an error message or reissue the request for the actual
value type, as appropriate. This behavior is summarized in
Table 17.2.
Type of Actual Value |
---|
String | Strnum | Number | Regex | Bool | Array | Undefined | ||
---|---|---|---|---|---|---|---|---|
String | String | String | String | String | String | false | false | |
Strnum | false | Strnum | Strnum | false | false | false | false | |
Number | Number | Number | Number | false | Number | false | false | |
Type | Regex | false | false | false | Regex | false | false | false |
Requested | Bool | false | false | false | false | Bool | false | false |
Array | false | false | false | false | false | Array | false | |
Scalar | Scalar | Scalar | Scalar | Scalar | Scalar | false | false | |
Undefined | String | Strnum | Number | Regex | Bool | Array | Undefined | |
Value cookie | false | false | false | false | false | false | false |
Table 17.2: API value types returned