es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Es posible utilizar varias variables como entrada de reemplazo en el mapa de cadenas de tcl/tk?

Quiero insertar una variable con entrada de ‘palabra’ para ser anulada dentro de ‘string map’. Normalmente hacemos esto:

# Variable de entrada
set str "Is First Name"

# Resultado de la nueva cadena
puts [string map -nocase { {First Name} {Last Name} } $str]

Lo que necesito es reemplazarlo a través de una segunda variable. Por ejemplo:

set replace "Last Name"

puts [string map -nocase { {First Name} $replace } $str]

Tengo el siguiente resultado:

Imagen enlace

Antes de preguntar, investigué, pero no encontré nada de este tipo. Incluso intenté adaptar otros ejemplos, pero sin éxito.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para insertar una variable dentro de un mapa de cadena, es necesario utilizar llaves {} alrededor del nombre de la variable. Esto le indica a Tcl que sustituya la variable con su valor antes de ejecutar el comando.

    En su ejemplo, es necesario modificar el comando de mapa de cadena de la siguiente manera para reemplazar “Nombre” con el valor de la variable “reemplazar”:

    puts [string map -nocase { {Nombre} {$reemplazar} } $str]
    

    Esto debería darle la salida deseada.

Comments are closed.