Obtener valor de clave de un diccionario tcl con un valor predeterminado
Muy nuevo/oxidado con TCL aquí :-(. Estoy atrapado con tcl 8.6 y no puedo aprovechar la función getwithdefault de tcl 8.7 en un dict.
Intenté lo siguiente y obtuve un error diciendo que “frameLen” no es parte del dict. Pero pensé que el operador ternario debería haber omitido la parte en [dict get $pktBlock frameLen]. ¿Qué hice mal?
¡Gracias!
package require json
set pktBlock [json::json2dict {{"frameLenn": 253}}]
set frameLen [expr [dict exists $pktBlock framelen] ? [dict get $pktBlock frameLen] : 256 ]
davy.ai
El problema con el código es un error de ortografía en la clave del diccionario. La clave del diccionario se define como “frameLenn”, pero en el código se está accediendo como “frameLen”. Por lo tanto, el código debe modificarse de la siguiente manera:
Esto debería recuperar correctamente el valor de “frameLenn” del diccionario y asignarlo a la variable “frameLen”, o asignar un valor predeterminado de 256 si la clave no existe en el diccionario.