Digamos que tengo una lista de TCL, y he agregado algunos elementos a mi lista. Ahora quiero verificar si he agregado 6 o 7 elementos.¿Cómo verificar si existe elemento de lista en TCL?
Con el fin de comprobar si existe el elemento de lista en el lugar especificado por un índice que han utilizado:
if { [info exists [lindex $myList 6]] } {
#if I am here then I have appended 7 elems, otherwise it should be at least 6
}
Pero costuras esto no funciona. ¿Cómo debería hacer eso? ¿correctamente? Está bien para comprobar si {[lindex $ miLista 6]] eq ""}
¿Qué quieres decir con mi "algo"? He usado if {[lindex $ myList 6]] eq ""} para verificar si el 7mo elem existe. Si no existe, estoy en el cuerpo de la declaración if. ¿Se recomienda usar? – Narek
"algo" es solo una cadena aleatoria que elegí para mi ejemplo. Por supuesto, puede reemplazar eso con cualquier cadena que desee. El 'if {[lindex $ myList 6]] ==" "}' funcionará muy probablemente, pero tiene un defecto. Supongamos que tiene la siguiente lista: 'set l {1 2 3 4 5 6" "}'. Esta lista tiene 7 elementos (verifique el resultado de 'llength $ l'). Pero su código trataría esta lista como si solo tuviera 6 elementos. Si desea verificar si un elemento existe en el índice 'X', use' llength' para verificar si la lista es tan larga, definitivamente es más explícito. Si quiere comprobar si el elemento tiene un valor específico, use 'lindex'. –
Ok, gracias! – Narek