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
info@souzamonteiro.com

Copyright(C) 2000 by Roberto Luiz Souza Monteiro