Documentaciónborrar_por_valor(tab, campo, val)

borrar_por_valor(tab,campo,val)\texttt{borrar\_por\_valor}(tab, campo, val)

Nombre

borrar_por_valor - Elimina el primer registro cuyo campo coincide con un valor dado.

Sinopsis

nueva_tabla = tablas.borrar_por_valor(tab, campo, val)

Descripcion

Busca dentro de tab el primer registro para el cual tabla[i][campo] == val y devuelve una nueva TABLA sin ese registro.

Es util para:

  • eliminar una coincidencia sin conocer su indice exacto
  • quitar la primera aparicion de un valor dentro de un campo
  • combinar busqueda y borrado en una sola llamada

Comportamiento

  • Localiza primero el indice del registro coincidente.
  • Delega la eliminacion en tablas.borrar_por_indice().
  • Devuelve una nueva TABLA y no modifica la original.

Funciones API relacionadas

  • tablas.insertar()
  • tablas.borrar_por_indice()

Parámetros

ParámetroTipoDescripción
tabTABLATabla origen.
campoSTRINGNombre del campo donde buscar el valor val.
valANYValor a comparar (STRING/NUMERICO/LOGICO).

Valor de retorno

TABLA - Nueva tabla sin el primer registro cuyo campo coincide con val.

Ejemplo

ejemplo.blox
INCLUIR "tablas.api"
INCLUIR "strings.api"


FUNCION PRINCIPAL
INICIO

	TABLA    persona
	NUMERICO i, val, sts
	STRING   campo
    TABLA    borrado


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



//
// Testado OK
//
// Borra el registro con edad = 21 
//

    campo = "edad"
    val = 21

    IMPRIMIR ("\nTABLA ORIGINAL\n")
    tablas.imprimir(persona)
    borrado = tablas.borrar_por_valor(persona, campo, val)



    IMPRIMIR ("\n\n\nTABLA CON REGISTRO ELIMINADO\n")
    tablas.imprimir(borrado)





FINAL