TCL 목록이 있다고 가정 해 보겠습니다. 일부 목록을 내 목록에 추가했습니다. 이제 6 개 또는 7 개의 요소를 추가했는지 확인하고 싶습니다.목록 요소가 TCL에 있는지 확인하는 방법은 무엇입니까?
은 목록 요소 인덱스로 지정된 위치에 존재하는지 확인하기 위해 내가 사용하고 있습니다 :
if { [info exists [lindex $myList 6]] } {
#if I am here then I have appended 7 elems, otherwise it should be at least 6
}
그러나 실밥이 작동하지 않습니다. 어떻게해야합니까? 정확히? 을 확인하는 확인 된 경우 {[LINDEX의 $ myList를 6] EQ ""}
내 "무언가"를 의미합니까? if {[lindex $ myList 6]] eq ""}를 사용하여 7 번째 elem이 존재하는지 확인합니다. 그것이 존재하지 않으면 if 문의 본문에 있습니다. 사용하는 것이 좋습니다? – Narek
"무언가"는 필자가 선택한 임의의 문자열입니다. 물론 원하는 문자열로 바꿀 수 있습니다. 'if {[lindex $ myList 6]] == ""}'이 가장 잘 작동하지만 결함이 있습니다. 다음리스트를 가지고 있다고 가정 해보자 :'set l {1 2 3 4 5 6 ""}'. 이리스트에는 7 개의 요소가 있습니다 ('llength $ l'의 출력을 확인하십시오). 그러나 코드는이 목록을 마치 6 개의 요소 만있는 것처럼 처리합니다. 요소가 색인'X'에 있는지 확인하려면'llength'를 사용하여 목록이 길어 지는지 확인하십시오. 분명히 더 명확합니다. 요소에 특정 값이 있는지 확인하지 않으려면'lindex'를 사용하십시오. –
감사합니다. – Narek