📄 info.test
字号:
t1 2} 1test info-7.4 {info exists option} { proc t1 {x} { global _nonexistent_ return [info exists _nonexistent_] } t1 2} 0test info-7.5 {info exists option} { proc t1 {x} { set y 47 return [info exists y] } t1 2} 1test info-7.6 {info exists option} { proc t1 {x} {return [info exists value]} t1 2} 0test info-7.7 {info exists option} { catch {unset x} set x(2) 44 list [info exists x] [info exists x(1)] [info exists x(2)]} {1 0 1}catch {unset x}test info-7.8 {info exists option} { list [catch {info exists} msg] $msg} {1 {wrong # args: should be "info exists varName"}}test info-7.9 {info exists option} { list [catch {info exists 1 2} msg] $msg} {1 {wrong # args: should be "info exists varName"}}test info-8.1 {info globals option} { set x 1 set y 2 set value 23 set a " [info globals] " list [string match {* x *} $a] [string match {* y *} $a] \ [string match {* value *} $a] [string match {* _foobar_ *} $a]} {1 1 1 0}test info-8.2 {info globals option} { set _xxx1 1 set _xxx2 2 lsort [info g _xxx*]} {_xxx1 _xxx2}test info-8.3 {info globals option} { list [catch {info globals 1 2} msg] $msg} {1 {wrong # args: should be "info globals ?pattern?"}}test info-9.1 {info level option} { info level} 0test info-9.2 {info level option} { proc t1 {a b} { set x [info le] set y [info level 1] list $x $y } t1 146 testString} {1 {t1 146 testString}}test info-9.3 {info level option} { proc t1 {a b} { t2 [expr $a*2] $b } proc t2 {x y} { list [info level] [info level 1] [info level 2] [info level -1] \ [info level 0] } t1 146 {a {b c} {{{c}}}}} {2 {t1 146 {a {b c} {{{c}}}}} {t2 292 {a {b c} {{{c}}}}} {t1 146 {a {b c} {{{c}}}}} {t2 292 {a {b c} {{{c}}}}}}test info-9.4 {info level option} { proc t1 {} { set x [info level] set y [info level 1] list $x $y } t1} {1 t1}test info-9.5 {info level option} { list [catch {info level 1 2} msg] $msg} {1 {wrong # args: should be "info level ?number?"}}test info-9.6 {info level option} { list [catch {info level 123a} msg] $msg} {1 {expected integer but got "123a"}}test info-9.7 {info level option} { list [catch {info level 0} msg] $msg} {1 {bad level "0"}}test info-9.8 {info level option} { proc t1 {} {info level -1} list [catch {t1} msg] $msg} {1 {bad level "-1"}}test info-9.9 {info level option} { proc t1 {x} {info level $x} list [catch {t1 -3} msg] $msg} {1 {bad level "-3"}}set savedLibrary $tcl_librarytest info-10.1 {info library option} { list [catch {info library x} msg] $msg} {1 {wrong # args: should be "info library"}}test info-10.2 {info library option} { set tcl_library 12345 info library} {12345}test info-10.3 {info library option} { unset tcl_library list [catch {info library} msg] $msg} {1 {no library has been specified for Tcl}}set tcl_library $savedLibrarytest info-11.1 {info loaded option} { list [catch {info loaded a b} msg] $msg} {1 {wrong # args: should be "info loaded ?interp?"}}test info-11.2 {info loaded option} { list [catch {info loaded {}}] [catch {info loaded gorp} msg] $msg} {0 1 {couldn't find slave interpreter named "gorp"}}test info-12.1 {info locals option} { set a 22 proc t1 {x y} { set b 13 set c testing global a return [info locals] } lsort [t1 23 24]} {b c x y}test info-12.2 {info locals option} { proc t1 {x y} { set xx1 2 set xx2 3 set y 4 return [info loc x*] } lsort [t1 2 3]} {x xx1 xx2}test info-12.3 {info locals option} { list [catch {info locals 1 2} msg] $msg} {1 {wrong # args: should be "info locals ?pattern?"}}test info-12.4 {info locals option} { info locals} {}test info-12.5 {info locals option} { proc t1 {} {return [info locals]} t1} {}test info-12.6 {info locals vs unset compiled locals} { proc t1 {lst} { foreach $lst $lst {} unset lst return [info locals] } lsort [t1 {a b c c d e f}]} {a b c d e f}test info-12.7 {info locals with temporary variables} { proc t1 {} { foreach a {b c} {} info locals } t1} {a}test info-13.1 {info nameofexecutable option} { list [catch {info nameofexecutable foo} msg] $msg} {1 {wrong # args: should be "info nameofexecutable"}}test info-14.1 {info patchlevel option} { set a [info patchlevel] regexp {[0-9]+\.[0-9]+([p[0-9]+)?} $a} 1test info-14.2 {info patchlevel option} { list [catch {info patchlevel a} msg] $msg} {1 {wrong # args: should be "info patchlevel"}}test info-14.3 {info patchlevel option} { set t $tcl_patchLevel unset tcl_patchLevel set result [list [catch {info patchlevel} msg] $msg] set tcl_patchLevel $t set result} {1 {can't read "tcl_patchLevel": no such variable}}test info-15.1 {info procs option} { proc t1 {} {} proc t2 {} {} set x " [info procs] " list [string match {* t1 *} $x] [string match {* t2 *} $x] \ [string match {* _undefined_ *} $x]} {1 1 0}test info-15.2 {info procs option} { proc _tt1 {} {} proc _tt2 {} {} lsort [info pr _tt*]} {_tt1 _tt2}catch {rename _tt1 {}}catch {rename _tt2 {}}test info-15.3 {info procs option} { list [catch {info procs 2 3} msg] $msg} {1 {wrong # args: should be "info procs ?pattern?"}}set self info.testif {$tcl_platform(os) == "Win32s"} { set self info~1.tes}test info-16.1 {info script option} { list [catch {info script x} msg] $msg} {1 {wrong # args: should be "info script"}}test info-16.2 {info script option} { file tail [info sc]} $selfremoveFile gorp.infomakeFile "info script\n" gorp.infotest info-16.3 {info script option} { list [source gorp.info] [file tail [info script]]} [list gorp.info $self]test info-16.4 {resetting "info script" after errors} { catch {source ~_nobody_/foo} file tail [info script]} $selftest info-16.5 {resetting "info script" after errors} { catch {source _nonexistent_} file tail [info script]} $selfremoveFile gorp.infotest info-17.1 {info sharedlibextension option} { list [catch {info sharedlibextension foo} msg] $msg} {1 {wrong # args: should be "info sharedlibextension"}}test info-18.1 {info tclversion option} { set x [info tclversion] scan $x "%d.%d%c" a b c} 2test info-18.2 {info tclversion option} { list [catch {info t 2} msg] $msg} {1 {wrong # args: should be "info tclversion"}}test info-18.3 {info tclversion option} { set t $tcl_version unset tcl_version set result [list [catch {info tclversion} msg] $msg] set tcl_version $t set result} {1 {can't read "tcl_version": no such variable}}test info-19.1 {info vars option} { set a 1 set b 2 proc t1 {x y} { global a b set c 33 return [info vars] } lsort [t1 18 19]} {a b c x y}test info-19.2 {info vars option} { set xxx1 1 set xxx2 2 proc t1 {xxa y} { global xxx1 xxx2 set c 33 return [info vars x*] } lsort [t1 18 19]} {xxa xxx1 xxx2}test info-19.3 {info vars option} { lsort [info vars]} [lsort [info globals]]test info-19.4 {info vars option} { list [catch {info vars a b} msg] $msg} {1 {wrong # args: should be "info vars ?pattern?"}}test info-19.5 {info vars with temporary variables} { proc t1 {} { foreach a {b c} {} info vars } t1} {a}test info-20.1 {miscellaneous error conditions} { list [catch {info} msg] $msg} {1 {wrong # args: should be "info option ?arg arg ...?"}}test info-20.2 {miscellaneous error conditions} { list [catch {info gorp} msg] $msg} {1 {bad option "gorp": must be args, body, cmdcount, commands, complete, default, exists, globals, hostname, level, library, loaded, locals, nameofexecutable, patchlevel, procs, script, sharedlibextension, tclversion, or vars}}test info-20.3 {miscellaneous error conditions} { list [catch {info c} msg] $msg} {1 {ambiguous option "c": must be args, body, cmdcount, commands, complete, default, exists, globals, hostname, level, library, loaded, locals, nameofexecutable, patchlevel, procs, script, sharedlibextension, tclversion, or vars}}test info-20.4 {miscellaneous error conditions} { list [catch {info l} msg] $msg} {1 {ambiguous option "l": must be args, body, cmdcount, commands, complete, default, exists, globals, hostname, level, library, loaded, locals, nameofexecutable, patchlevel, procs, script, sharedlibextension, tclversion, or vars}}test info-20.5 {miscellaneous error conditions} { list [catch {info s} msg] $msg} {1 {ambiguous option "s": must be args, body, cmdcount, commands, complete, default, exists, globals, hostname, level, library, loaded, locals, nameofexecutable, patchlevel, procs, script, sharedlibextension, tclversion, or vars}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -