Bir TCL listesi var ve listeme bazı öğeler eklediğimi varsayalım. Şimdi 6 veya 7 elementi eklediğimi kontrol etmek istiyorum.Liste öğesi TCL'de var mı kontrol edilir?
liste elemanı bir dizin tarafından belirtilen yerde var olmadığını kontrol etmek amacıyla ben kullandım:
if { [info exists [lindex $myList 6]] } {
#if I am here then I have appended 7 elems, otherwise it should be at least 6
}
Ama dikişler bu işe yaramaz. Bunu nasıl yapmalıyım? uygun şekilde? kontrol etmek yolunda olup olmadığını {[Lindex $ myList 6]] eq ""}
Ne demek "benim" demek? 7. elem'in var olup olmadığını kontrol etmek için {[lindex $ myList 6]] eq ""} ifadesini kullandım. Varsa, if ifadesinin gövdesindeyim. Kullanılması tavsiye edilir mi? – Narek
"Bir şey" benim örneğim için seçtiğim sadece rastgele bir dizedir. Elbette bunu istediğiniz herhangi bir dizeyle değiştirebilirsiniz. “If {[lindex $ myList 6]] ==" "}' büyük olasılıkla işe yarayacak, ancak bir kusuru var. Aşağıdaki listeye sahip olduğunuzu varsayalım: 'set l {1 2 3 4 5 6" "}'. Bu listede 7 eleman bulunmaktadır (llength $ l' çıkışını kontrol ediniz). Fakat kodunuz bu listeyi sadece 6 elemente sahipmiş gibi ele alırdı. Eğer 'X' indeksinde bir eleman olup olmadığını kontrol etmek isterseniz, listenin o kadar uzun olup olmadığını kontrol etmek için 'llength' kullanın, kesinlikle daha açıktır. Eğer elemanın belirli bir değeri olup olmadığını kontrol etmediyseniz 'lindex' kullanın. –
Tamam, teşekkürler! – Narek