Type functions

awk 는 실제 연산을 할 때는 숫자와 스트링의 구분이 있지만 내부적으로 관리하는 정보에는 단지 scalar 와 array 구분만 있습니다. 다음은 실행 중인 awk 에 설정되어 있는 identifiers 목록을 출력한 것입니다.

$ awk '
BEGIN { 
    PROCINFO["sorted_in"] = "@ind_str_asc"
    for ( i in PROCINFO["identifiers"] )
        print i, PROCINFO["identifiers"][i]     
}' | column -t
ARGC            scalar
ARGIND          scalar
ARGV            array
BINMODE         scalar
CONVFMT         scalar
ENVIRON         array
ERRNO           scalar
FIELDWIDTHS     scalar
FILENAME        scalar
FNR             scalar
FPAT            scalar
FS              scalar
FUNCTAB         array
IGNORECASE      scalar
LINT            scalar
NF              scalar
NR              scalar
OFMT            scalar
OFS             scalar
ORS             scalar
PREC            scalar
PROCINFO        array
RLENGTH         scalar
ROUNDMODE       scalar
RS              scalar
RSTART          scalar
RT              scalar
SUBSEP          scalar
SYMTAB          array
TEXTDOMAIN      scalar
and             builtin
asort           builtin
asorti          builtin
atan2           builtin
bindtextdomain  builtin
close           builtin
compl           builtin
cos             builtin
dcgettext       builtin
dcngettext      builtin
exp             builtin
extension       builtin
fflush          builtin
gensub          builtin
gsub            builtin
i               untyped
index           builtin
int             builtin
isarray         builtin
length          builtin
log             builtin
lshift          builtin
match           builtin
mktime          builtin
or              builtin
patsplit        builtin
rand            builtin
rshift          builtin
sin             builtin
split           builtin
sprintf         builtin
sqrt            builtin
srand           builtin
strftime        builtin
strtonum        builtin
sub             builtin
substr          builtin
system          builtin
systime         builtin
tolower         builtin
toupper         builtin
xor             builtin

isarray( x )

이 함수는 다차원 배열을 다룰 때 해당 원소가 array 인지 scalar 인지 테스트할 때나 함수에 전달된 인수가 array 인지 scalar 인지 테스트할 때 사용할 수 있습니다.