![]() |
Tcl/Tk
Curso On-Line de Programação |
Obtendo informações do interpretador Tcl
Tcl oferece diversos comandos que permitem acesso a informações sobre o interpretador, tais como variáveis existentes e procedures. Tcl também oferece o comando interp, com dezenas de sub-comandos, que permitem a criação e gerenciamento de múltiplos interpretadores. No entanto, múltiplos interpretadores são pouco usados e não serão abordados aqui.
Nesta aula, estudaremos o comando
info
e seus subcomandos, por ser o mais usado.
| Comando | Descrição |
| info args | Retorna uma lista descrevendo os argumentos da procedure dada, na ordem em que eles aparecem no cabeçalho da procedure. |
| Info body | Retorna o corpo da procedure dada. |
| info cmdcount | Retorna o número total de comandos que foram invocados. |
| info commands | Retorna uma lista de todos os comandos Tcl que correspondem ao padrão fornecido. |
| info complete | Retorna 1 se a procedure dada for um comando Tcl completo. Caso contrário, retorna 0. |
| info default | Retorna 1 se a procedure dada possui um argumento arg, que tenha um valor default definido e coloca este valor na variável var dada. |
| info exists | Retorna 1 se a variável dada existir, no contexto atual. Caso contrário, retorna 0. |
| info globals | Retorna uma lista com todas as variáveis globais que correspondam ao padrão fornecido. |
| info hostname | Retorna o nome do computador a partir do qual o interpretador foi invocado. |
| info level | Retorna o nível na pilha, da procedure que está sendo invocada. |
| info library | Retorna o nome do diretório padrão onde os scripts Tcl estão instalados. |
| info loaded | Retorna uma lista descrevendo os . |
| info locals | Retorna uma lista com todas as variáveis locais que correspondem ao padrão dado. |
| info nameofexecutable | Retorna o caminho completo do binário a partir do qual o aplicativo foi invocado. |
| info patchlevel | Retorna a versão do interpretador Tcl na forma x.x.x. |
| info procs | Retorna uma lista com todas as procedures, no namespace atual, que correspondam ao padrão dado. |
| info script | Retorna o nome do script Tcl que está sendo executado. |
| info sharedlibextension | Retorna a extensão das bibliotecas compartilhadas, na plataforma atual. |
| info tclversion | Retorna a versão do interpretador Tcl na forma x.x. |
| info vars | Retorna uma lista com todas as variáveis atualmente visíveis, que correspondem ao padrão dado. |
Exemplos
info args
puts [info args tclPkgUnknown]Retorna os argumentos do comando tclPkgUnknown:
name version exact
info args
puts [info commands]Retorna todos os comandos e procedures que correspondem ao padrão default ( * ):
after vwait uplevel continue auto_mkindex_old foreach rename fileevent regexp
tclPkgSetup upvar unset expr tcl_findLibrary load regsub history exit interp
puts incr lindex lsort tclLog string
info globals
puts [info globals]Retorna todas as variáveis globais que correspondem ao padrão default ( * ):
tcl_rcFileName tcl_version argv argv0 tcl_interactive tcl_traceCompile auto_oldpath
errorCode auto_path errorInfo auto_index env tcl_pkgPath tcl_patchLevel argc tcl_traceExec
tcl_library tcl_platform
info nameofexecutable
puts [info nameofexecutable]Retorna:
/usr/bin/tclsh
info patchlevel
puts [info patchlevel]Retorna:
8.0.5
info procs
puts [info procs]No contexto atual retornou:
tclMacPkgSearch auto_load_index unknown auto_import auto_execok pkg_mkIndex
auto_mkindex auto_reset auto_qualify tclPkgUnknown auto_load pkg_compareExtension
auto_mkindex_old tclPkgSetup tcl_findLibrary history tclLog
info sharedlibextension
puts [info sharedlibextension]Como este texto está sendo editado no Linux, o comando retornou:
.so
info tclversion
puts [info tclversion]Retorna:
8.0
info vars
puts [info vars]No contexto atual retornou:
tcl_rcFileName tcl_version argv argv0 tcl_interactive tcl_traceCompile auto_oldpath
errorCode auto_path errorInfo auto_index env tcl_pkgPath tcl_patchLevel argc
tcl_traceExec tcl_library tcl_platform
Para uma descrição detalhada
de todas as funções para acesso a informações
sobre o interpretador Tcl, consulte a documentação on-line,
ou o Tcl/Tk Reference Guide, ou
ainda o Tcl/Tk Electronic Reference.
Para maiores informações
envie e-mail para info@souzamonteiro.com.
| http://www.souzamonteiro.com |
Copyright(C) 2000 by Roberto Luiz Souza Monteiro