You are here

array (배열) 의 사용에 대한 문의 - proc scope 내에서는 array로 인식되나 밖에서는 arrray가 아닌것으로 인식됩니다.

안녕하세요.

array 관련해 잘 이해가 안되서 문의 드립니다.

code는 아래와 같습니다.

------------------------------------------------------------------------------------------------------
proc aaa {arrayName} {

upvar #1 $arrayName SPDATA

set a1(0) "3"
set a1(1) "4"

set kk [list]

lappend kk "lee"
lappend kk "lee2"
lappend kk a1

set SPDATA(M1) $kk

set bb [lindex $SPDATA(M1) end]
if {[array exists $bb] ==1 } {puts "ARRAY"} else { puts "Not ARRAY"}

}

aa spdata

set cc [lindex $spdata(M1) end]
if {[array exists $cc] ==1 } {puts "ARRAY"} else { puts "Not ARRAY"}

--------------------------------------------------------------------------------------------------------------

위와 같이 진행 할 시 proc 내에서는 ARRAY가 출력되고 밖에서는 Not ARRAY 가 출력 됩니다.

왜 그런지 이해가 잘 안됩니다. 설명 부탁드려봅니다.