#!/usr/local/bin/tclsh8.0 package require http 1.0 if {$argc < 2} { puts stderr "Usage: $argv0 url file" exit 1 } set url [lindex $argv 0] set file [lindex $argv 1] set out [open $file w] proc progress {token total current} { puts -nonewline "." } http_config -proxyhost proxy.foo.co.jp -proxyport 8080 set token [http_get $url -progress progress \ -headers {Pragma no-cache} -channel $out] close $out upvar #0 $token state puts $state(http) foreach {key value} $state(meta) { puts "$key: $value" } exit 0 |
# sample.tcl package require msgcat namespace import msgcat::* msgcat::mcload [file join [file dirname [info script]] msg] set env(LANG) ja_JP pack [button .b -text [mc "Push Me"]] |
# msg/ja_JP.msg mcset ja_JP "Push Me" "押してください" |
package require registry set key {HKEY_CURRENT_USER\Software\foo} registry set $key font {MS 明朝} registry get $key font =>MS 明朝 |
# クライアント package require dde button .b -text Send -command { dde execute -async TclEval foo {set var Hello!} } pack .b |
# サーバー package require dde dde servername foo pack [entry .e -textvariable var] |
# alltest.tcl if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest namespace import ::tcltest::* } set ::tcltest::testSingleFile false set ::tcltest::testsDirectory [file dir [info script]] foreach file [::tcltest::getMatchingFiles] { if {[catch {source $file} msg]} { puts stderr $msg } } ::tcltest::cleanupTests 1 |
# sample.test test Test-1.1 {インデックスのテスト} { lindex {test sample1} 1 } sample1 test Test-1.2 {ソートのテスト} { lsort {123 abc xyz} } {123 abc XYZ} |
# テスト結果 ==== Test-1.2 ソートのテスト FAILED ==== Contents of test case: lsort {123 abc xyz} ---- Result was: 123 abc xyz ---- Result should have been: 123 abc XYZ ==== Test-1.2 FAILED alltest.tcl: Total 2 Passed 1 Skipped 0 Failed 1 Sourced 0 Test Files. |