Documentaciónfiltrar(tabla_in, campo, val)

filtrar(tablain,campo,val)\texttt{filtrar}(tabla_{in}, campo, val)

Nombre

filtrar - Alias de compatibilidad para tablas.buscar_todos().

Sinopsis

subtabla = tablas.filtrar(tabla_in, campo, val)

Descripcion

Mantiene el nombre historico de esta operacion plural y delega el trabajo en tablas.buscar_todos(tabla_in, campo, val).

Se conserva por compatibilidad con codigo existente, pero la forma preferida en esta API es tablas.buscar_todos().

Comportamiento

  • Verifica que el campo exista y tenga un tipo compatible.
  • Compara cada registro contra el valor indicado.
  • Devuelve una subtabla con todas las coincidencias.
  • Si no hay coincidencias, retorna una tabla vacia.

Funciones API relacionadas

  • tablas.buscar()
  • tablas.buscar_todos()
  • tablas.buscar_por_valor()
  • tablas.buscar_indice()
  • tablas.buscar_indices()
  • tablas.buscar_primero_por_valor()

Parámetros

ParámetroTipoDescripción
tabla_inTABLATabla de entrada.
campoSTRINGCampo a comparar.
valANYValor buscado.

Valor de retorno

TABLA - Subtabla con los registros que cumplen la condicion.

Ejemplo

ejemplo.blox
INCLUIR "tablas.api"

FUNCION PRINCIPAL
INICIO

	TABLA  persona, filtrado
	NUMERICO i, cant
	STRING campo, val

    persona = {
        nombre = "Carlos",
        edad = 30,
        ciudad = "Asuncion"
    }
    persona = {
        nombre = "Juan",
        edad = 19,
        ciudad = "Encarnacion"
    }    
    persona = {
        nombre = "Roberto",
        edad = 45
        ciudad = "Concepcion"
    }
    persona = {
        nombre = "Maria",
        edad = 19
        ciudad = "Concepcion"
    }



//
// Testado OK
//
// Filtra una tabla por un determinado campo y valor. Retorna una sub-tabla
//

    campo = "ciudad"
    val = "Concepcion"
	filtrado = tablas.filtrar(persona, campo, val)

	i = 1
	MIENTRAS (i <= filtrado.dim) HACER
		IMPRIMIR (filtrado[i])
		i = i + 1
	FIN_MIENTRAS
    


FINAL