Ignore:
Timestamp:
Sep 22, 2009, 11:51:51 AM (17 years ago)
Author:
Jorge Pérez <josp.jorge@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
55e561e
Parents:
83f123c
Message:

cleaning code of TolObj2TclObj and TolObj2TclObjNamed

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@1423 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tolbase/lib/byswidget/bfunctions/bftoltcl.tcl

    r83f123c rfa673db  
    684684      array set it_info $it
    685685      #puts "$it_info(grammar) $it_info(name) $it_info(content) "
    686       set G $it_info(grammar)
    687       if { $G eq "Set" || $G eq "NameBlock" } {
    688         set value [ TolObj2TclObj [ eval list $obj $idx ] ]
    689       } else {
    690         set value $it_info(content)
    691       }
    692       lappend result $value
     686      lappend result [ TolObj2TclObj [ eval list $obj $idx ] ]
    693687      incr idx
    694688    }
    … …  
    699693}
    700694
     695
     696#///////////////////////////////////////////////////////////////////////////
     697proc TolSet2TclListNamed { obj } {
     698# PURPUSE: procedimiento de ayuda a TolObj2TclObjNamed para construir el
     699#          valor asociado a un conjunto TOL donde sus elementos van con
     700#          nombre.
     701#
     702# RETURNS: retorna una lista con los pares nombre valor de los elementos del
     703#          conjunto TOL
     704#///////////////////////////////////////////////////////////////////////////
     705  set value [ list ]
     706  set idx 1
     707  tol::foreach it $obj {
     708    #puts "$it_info(grammar) $it_info(name) $it_info(content) "
     709    set it_pair [ TolObj2TclObjNamed [ eval list $obj $idx ] ]
     710    # esto quedaria mejor con un {*}, no usaria el eval pues creo que
     711    # "abre" toda la lista.
     712    lappend value [ lindex $it_pair 0 ] [ lindex $it_pair 1 ]
     713    incr idx
     714  }
     715  set value
     716}
     717
    701718#///////////////////////////////////////////////////////////////////////////
    702719proc TolObj2TclObjNamed { obj } {
    703720# PURPUSE: Dado una referencia a un objeto TOL retorna una representacion en
    704721#          TCL equivalente manteniendo los nombres de los objetos TOL.
    705 #          Si alguno de los objetos no tiene nombre se le asigna el nombre "".
    706 #          Esta funcion puede reemplazar a TolSet2TclLst.
    707 #
    708 # RETURN: Un lista Tcl de pares <nombre,valor> que representa el contenido
    709 #         con nombredel objeto TOL
     722#          Si el objeto no tiene nombre se le asigna un nombre vacio ""
     723#
     724# RETURN: Un par nombre,valor
    710725#
    711726#///////////////////////////////////////////////////////////////////////////
    … …  
    714729  set grammar [ lindex $vinfo 0 ]
    715730  if { $grammar eq "Set" || $grammar eq "NameBlock" } {
    716     set result [ list ]
    717     set idx 1
    718     tol::foreach it $obj {
    719       array set it_info $it
    720       #puts "$it_info(grammar) $it_info(name) $it_info(content) "
    721       set G $it_info(grammar)
    722       if { $G eq "Set" || $G eq "NameBlock" } {
    723         set value [ TolObj2TclObjNamed [ eval list $obj $idx ] ]
    724       } else {
    725          set value $it_info(content)
    726       }
    727       lappend result $it_info(name) $value
    728       incr idx
    729     }
    730     set result
     731    set value [ TolSet2TclListNamed $obj ]
    731732  } else {
    732     lrange $vinfo 1 2
    733   }
     733    set value [ lindex $vinfo 2 ]
     734  }
     735  list [ lindex $vinfo 1 ] $value
    734736}
    735737
    … …  
    768770proc test3.1 { } {
    769771  tol::console eval {
    770     Set {[[ 1, 2, Set kk = [[ 3, 4 ]] ]]}
     772    Set {[[ 1, 2, Set kk = [[ 3, 4, "texto" ]] ]]}
    771773  }
    772774  set result [ TolObj2TclObj {Console 1} ]
    … …  
    777779proc test3.2 { } {
    778780  tol::console eval {
    779     Set {[[ 1, 2, Set kk = [[ 3, 4 ]] ]]}
     781    Set {[[ 1, 2, Set kk = [[ 3, 4, "texto" ]] ]]}
    780782  }
    781783  set result [ TolObj2TclObjNamed {Console 1} ]
Note: See TracChangeset for help on using the changeset viewer.