Documentaciónbuscar_indice(tabla, campo, val)
Nombre
buscar_indice - Devuelve el indice del primer registro que coincide con un valor.
Sinopsis
indice = tablas.buscar_indice(tabla, campo, val)
Descripcion
Busca dentro de una TABLA y devuelve el indice del primer registro para el cual tabla[i][campo] == val.
Es util para:
- ubicar rapidamente una fila antes de leerla o modificarla
- detectar si una coincidencia existe dentro de la tabla
- combinar la busqueda con acceso posterior por indice
Comportamiento
- Recorre la tabla desde el primer registro hasta el ultimo.
- Si encuentra una coincidencia, retorna su indice BLOX.
- Si no encuentra coincidencias, retorna
0.
Funciones API relacionadas
tablas.buscar()tablas.buscar_todos()tablas.buscar_por_valor()tablas.buscar_indices()tablas.buscar_primero_por_valor()tablas.filtrar()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| tabla | TABLA | Tabla donde buscar. |
| campo | STRING | Campo a comparar. |
| val | ANY | Valor buscado. |
Valor de retorno
NUMERICO - Indice BLOX del primer registro coincidente, o 0 si no hay coincidencias.
Ejemplo
ejemplo.blox
INCLUIR "tablas.api"
FUNCION PRINCIPAL
INICIO
TABLA amigos
NUMERICO i, idx
STRING campo, valor
amigos = {
nombre = "Carlos",
edad = 30,
ciudad = "Asuncion"
}
amigos = {
nombre = "Juan",
edad = 21,
ciudad = "Encarnacion"
}
amigos = {
nombre = "Roberto",
edad = 45
ciudad = "Concepcion"
}
amigos = {
nombre = "Maria",
edad = 19
ciudad = "Concepcion"
email = "Maria@pseudo.com"
}
//
// Testado OK
//
//
// Busca un registro en una tabla. Recibe campo y valor.
//
campo = "ciudad"
valor = "Concepcion"
idx = tablas.buscar_indice(amigos, campo, valor)
SI (idx != 0) ENTONCES
tablas.imprimir(amigos)
IMPRIMIR("\nREGISTRO ENCONTRADO:")
IMPRIMIR(amigos[idx])
FIN_SI
FINAL