TclλȤFAQ

Ԥޤ

ϡjoe@morton.rain.com (Joe Moss) ˤäƴ "FAQ:
comp.lang.tcl Tcl Language Usage Questions And Answers"  91Ǥܸ
ǤεΥإåʲ˼ޤ


Newsgroups: comp.lang.tcl,comp.answers,news.answers
From: joe@morton.rain.com (Joe Moss)
Subject: FAQ: comp.lang.tcl Tcl Language Usage Questions And Answers
Message-ID: 
Summary: Answers to common questions regarding the use of the 
	Tcl language and building the Tcl interpreter
Keywords: FAQ Tcl TclX
Sender: joe@morton.rain.com (Joe Moss)
Supersedes: 
Reply-To: tcl-faq@morton.rain.com (Tcl Q&A FAQ Maintainer)
Organization: Morton & Associates
Date: Fri, 1 Sep 1995 06:24:39 GMT
Expires: Fri, 6 Oct 1995 06:24:35 GMT

Posted-By: auto-faq 3.1.1.2
Archive-name: tcl-faq/usage
Posting-Frequency: monthly

ܸФ뤴ո䡦ΤŦʤɤϡԤޤǡ ޤ
¾ξܺ٤ʾˤĤƤϡtcl-faq-j/README.J 򻲾ȤƲ
------------------------------------------------------------------------------

Ϥ

 FAQ եϡTcl ץߥ󥰸˴ؤ롤 Ūˤ褯ʹ
ȤŪȤƤޤ Τ褦ʼ䤬ʸϤ뤳Ȥˤꡤ 
comp.lang.tcl ƱƤη֤ꡤ Ūˤʤ뤳ȤԤޤ 
ޤʸ¾ FAQ ˤäơ ¿ο͡ Tcl  Tcl ١Υץꥱ
 ˻Ȥ褦ˤʤ뤳ȤԤޤ

FAQϡ Joe Moss (joe@morton.rain.com) ˤ졤 comp.lang.tcl 
 news.answers Ƥ졤TclΥ֤Ǥ ftp.aud.alcatel.com
(198.64.191.10)  /tcl/docs ǥ쥯ȥޤޤWWWǤ 
http://route.psg.com/tcl.html ɤळȤǤ礦

 FAQ  Tcl ˴ؤưΤǤꡤ Tk ˤĤƤΤΤǤϤʤȤդ
 Tk ġ륭åȤ˴ؤƤϡ Thomas J. Accardo (tja@cpu.com) ˤ
ƤƤFAQ (Ҥμ: "TclξäΤˤϡ" ˤ ¾ 
Tcl FAQ򻲾ȤΤ). ʤ顤ɬŪ˾󤬤֤⤢ޤ Tk 
åȤΰ˴ؤǤ褯ʹΤĤϡ Tcl 󥿥ץ꥿
ưΤФ˵ΤǤ äϡ⤳ǰ
ޤ ޤTcl ΰδĤǤϡ TkΥåȤ¹Ԥɬפ
⤢Ǥ礦

Tk ˰¸ʤĥ(ĥ Tcl  Expect ʤɡTkX  expecTk BLT Ͻ
)λȤ˴ؤȲޤǼ갷ޤ

ʸϤΥϡߤǤ HTML Ǵ褦ˤʤޤ ƥȥС
˼ֹܼ From  Subject Ԥˡͤ˼ưŪղä뤿
ˡ2 ĤΥץ (Tcl ǽ񤫤Ƥޤ)̤Ƥޤ WWW 
黲ȤǤСϡѹ٤˹ޤ ASCII ƥȥС
Ϸ1١ƤǤ

ǽѹ: Sat Sep 16 00:59:21 PDT 1995
------------------------------------------------------------------------------

̾:

Q.A1- TclξäΤˤϡ

˥塼롼 comp.lang.tclϡ TclȤ١Ȥѥå˴ؤ
ƵԤ¸ߤޤ Tcl˴ؤƼFAQɥȤϡ 
ftp.aud.alcatel.com Υǥ쥯ȥ /tcl/docs ǽǡˤϽǤ
Τ䥪饤ǽ ƼȤΥݥ󥿤ܤƤޤ 
ϡWorld Wide Web Ǥ⡤ 
http://www.smartpages.com/bngfaqs/comp/lang/tcl/top.html饢ǽǤ

WebǾ󥵡եǤʤ顤ʲ3ĤȤƤ褤Ǥ礦
http://www.sco.com/Technology/tcl/Tcl.html
http://web.cs.ualberta.ca/~wade/HyperTcl/
http://www.sunlabs.com/research/tcl/

ޤʸˤ"URLꥹ" 귫⤢ޤ

ʤΥɤ켫Τˤ⡤ ¿νפʥɥȤޤޤ
Ƥޤ ǿС 7.4 ǡСǤ 7.5a1Ǥ
ǽǤϡ ftp://ftp.smli.com/pub/tcl/ ޤ

Q.A2- Υޥ Tcl ưɬפʾˤϡ

Tcl ʪ椫"porting.notes" Ȥե̾ΥեõƸޤ
 ˤϡޤ¿ο͡󤻤줿 ͡ʥޥ OS  Tcl 
ưݤबޤȤƤޤ ޤɤ˿äꤹˤޤ
ǽɤ٤ "README"Ȥե⤢ޤ (ϡɤʥѥå
뤳ȤǤ)

ޤ Sun Tcl/Tk Web pages 顤ܿϢΥǡ١˥Ǥޤ

ˡʸϤ˸Ҥ ͡ʥץåȥۡǥ󥿥ץ꥿ۤˤ 
ϡޤؤɤTcl7.3ΥС˴ؤΤǤϤޤ 
󶡤Ƥޤ

Q.A3- TclCȤ߹碌ˤϡ

TclCɤȤ߹碌ƻѤꤵƤޤ Τˡ2
Ȥ߹碌͡ˡ󶡤Ƥޤ ʲˡΤδĤ
ޤ (ܺ٤ϥޥ󡦥ڡ򻲾ȤƲ):
    o TclؤΥޥɤɲ (Tcl_CreateCommand)
    o ޥɥȥ졼 (Tcl_CreateTrace)
    o ѿȥ졼 (Tcl_TraceVar)
    o ѿ/ (Tcl_GetVar/Tcl_SetVar)
    o ѿΥ (Tcl_LinkVar)
    o Ʊ٥ȥϥɥ (Tcl_AsyncCreate)
    o expr ޥɤؤεǽɲ (Tcl_CreateMathFunc)
    o tclAppInit롼Υޥ (Tcl_AppInit)
    o main롼Υޥ (Tcl_Main)
    o ѥ׷ͳΥߥ˥ (open)
    o exec ޥ (exec)

Ǹ2Ĥϡ¾ΥޥɤƱ٥εǽ󶡤ΤǤϤޤ 
(C¦)ɤ򥢥ǤʤˤϡɬפȤʤǤ礦

εǽΤܺ٤⤷ɥȤޤWWWǡ 
http://psg.com/~joem/CmdWrite.htmlɤळȤĥTclդ˴ޤޤ 
TclCommandWritingmanڡ򻲾ȤƲ

ޤ part two of Larry's Tcl FAQ  Tcl Bibliography ˤ¾λʸǺ
Ƥޤ

äˡɸTcl¾γĥȤ߹TclǤ expect ttyɥ饤зͳ
桤X٥Ȥե륤٥ȡޡ Tk4.x Υɥ롦Хå
ϥɥˤˡ⤢Ǥ礦 ޤ ftp://ftp.vnet.net/pub/users/drh/ 
ǤEmbedded Tk⸫ƤɤǤ礦

Q.A4- ߤǽƤ󶡤Ǥ褦ˡγĥȤ߹碌ˤϡ

ñȤƤϡTcl_AppInit ߤĥνץƤƤӽ
褦˲¤뤳ȤǤ Tclʤ顤tclAppInit.c(Tkξϡ
tkAppInit.c)򥳥ԡ ѹǡѤƤTcl饤֥ɲä
Ԥޤ 㤨СɸTcl_AppInitϡʲηäƤޤ:


    int
    Tcl_AppInit(interp)
        Tcl_Interp *interp; /* Interpreter for application. */
    {
        /* ... */

        if (Tcl_Init(interp) == TCL_ERROR) {
            return TCL_ERROR;
        }

        /* ... */
    }

fooĥפɲäˤϡ Τ褦fooνؿθƤӽФɲäƤ
ޤ:


    int
    Tcl_AppInit(interp)
        Tcl_Interp *interp; /* Interpreter for application. */
    {
        /* ... */

        if (Tcl_Init(interp) == TCL_ERROR) {
            return TCL_ERROR;
        }

        if (Foo_Init(interp) == TCL_ERROR) {
            return TCL_ERROR;
        }

        /* ... */
    }

ܺ٤ʾϡTcl_AppInitΥޥڡ䡤 tclAppInit.cե뼫Τ򻲾Ȥ
ɤǤ礦

(Ҥ)ñʲϤ٤ƤξưΤǤϤʤȤΤ 괰
ʲǤ¿γĥϡʣʲ¤ȡ γĥλѤ˰¸Ȥ߹
ɬפȤޤ

ĥTclȤ߹ߤ硤Tcl_AppInitϡ դ˴ޤޤΤѤͤФ
ޤ ޤץ󥯤ݤˤϡɸTcl饤֥˳ĥTcl
 饤֥󥯤ʤФʤޤ㤨:


    cc -o mytclsh mytclXAppInit.c -ltclx -ltcl ...

뤤ϡTkȤ߹󥿥ץ꥿Ǥ:


    cc -o mywish mytkXAppInit.c -ltkx -ltk -ltclx -ltcl ...

ʤȤˡ Make-A-WishΤ褦ʡʣγĥ1ĤȤ߹٤Υѥå
ޤ ޤ¾Υݥԥ顼ʳĥȰȤ߹٤եƱ
դ ĥ⤢ޤ㤨СSven Delmas ˤäƽ񤫤줿Ĥγĥ
ϡ ꤵ줿ĥȤ߹󥿥ץ꥿ۤMakefile뤿Ρ 
configureΥץꤹ뤳ȤǤޤ  part four of
Larry Virden's FAQ 򻲾ȤΤȡ

Q.A5- ưŪǥ󥰤äƲǤ

ưŪǥ󥰤˴ؤϡФcomp.lang.tclǸݤޤ ơ
ޤޤʳĥȤ߹ߤ ưŪǥ󥰤ˤä󶡤褦Ȥ뤽δꤤ
ΤǤ ɸTclʤǤϸߤεǽϥݡȤƤޤ

ʤ顤䤬ƥ꡼ 7.5 ǤǤȤ߹ޤͽǤꡤ 
ǽλСǤȤ߹ߺѤǤޤǤ顤ĥ ɲǽ⥸塼
ѴϤ뤳ȤϤǤǤ礦

Q.A6- Tcl󥹥ȡ뤷ƤʤĶǤư롤ɥ󡦥ץ
ˤϡ

Earle Lowe (lowee@cpsc.ucalgary.ca) ϡΤ褦Ƥޤ:

    TCL/Tk ¸ߤƤƤ⤤ʤƤطʤɤǤǤưǤ 
    ɥΥץꤿʤС ⤦Ȥɬפ
    ޤ

    ŪˤϡˤϤޤ TCLեCʸѴƤ
    뤳ȤϤޤ ơTcl_Init()Tk_Init()Ƥˡ 
    Ѵ줿 C ʸTcl_Eval()ƤǤޤ

    Alexei Rodriguez (alexei@cis.ufl.edu)  wish_compiler ѥ
     ftp://ftp.aud.alcatel.com/tcl/code/wish_compiler.shar.gz 
    ꤹɤǤ礦

    Υѥåˤtcl2cСäƤơ λˡ
    Ĥޤ

    Makefile ΤäȤȤС TCL/Tk Ṳ̄λ (͡
    ʼ wish Ѥ󥿥ץ꥿ȤƤλ)ˡѤ 
    ɤ¹Ԥˤϡ ѥ뤵줿ɥץ
    ͤˤ뤳Ȥ ǤǤ礦

    [:]
      Ԥ򤷤ƤȤǤϡTkWWW εȤäƤޤ

¾ȤơȤ߹TkפѤ뤳ȤǽǤ ϡ 
ftp://ftp.vnet.net/pub/users/drh/ ޤ

Q.A7- tclsh󥹥ȡ뤵Ƥ˴طʤץȤưˤϡ

ĤεΤƤޤäȤŪʤΤϡ TclǤϥޥɹԤޤ
Хåå{\}³ԤΰȤƻȤ롤 ȤǽѤΤǤ
:


    #! /usr/local/bin/tclsh

    puts "Hello World"

Ƚؤˡ


    #! /bin/sh
    # ιԤ/bin/shǤɾ뤬, TclǤϤʤ \
      exec tclsh $0 ${1+"$@"}

    puts "Hello World"

Ƚ񤤤Ƥ뤳Ȥǡºݤtclsh˥󥹥ȡ뤵Ƥ뤫˴طʤ (桼
δĶѿPATH˥󥹥ȡ뤵줿ѥޤޤƤɬפϤޤ) ư
뤳ȤǤޤ

Q.A8- <ۤۤĥ>ǥեȤդ˴ޤޤƤʤΡ

ФСĥ(ˤȤäƤɬԲķǤˤ⤫餺) ʤ
礵ƤʤΤʹޤ

¤¿ο͡͡ʥƥξǡ ӤΤTclѤƤ
ΤȤȤͤ ͤФʤޤ ޤTclϸȡ ץ
κ륢ץꥱɬפʥץȸ򤤤 ֤
︺뤿߷פ줿 ¤Υץߥ󥰤ιȤ󶡤 Ȥ߹
ѤθǤ뤳Ȥ˺ƤϤʤޤ

ȤϸΤΡTclϤǯ礭ȯŸޤ ɲä줿ǽ
ΤδĤϡ ¾ǳȯ줿ĥȤ߹ޤ줿ΤǤ ĥˤä
뵡ǽTclƤΥ桼ˤȤäƴ򤷤Ȼפ줿硤 JohnϥTcl
Ȥ߹ޤ 㤨СϢۥꥹȤեϥޥ(ȡե
ϥɥ) unknownץơɸTclȤ߹ޤ ĥTcl 
ˤä󶡤ƤΤǤ Tk 4.0 Ǥϡ¾ο͡μˤäTcl7.3/Tk3.6
Ѥ˳ȯ줿 addinput  photo widget ĥƱεǽޤǤޤ
------------------------------------------------------------------------------

ץߥ󥰴ϢμȲ:

Q.B1- ϢۥꥹȤ°ꥹȤ/Ѥˤϡ

䡤ĥTclΥդꥹȤȤɤǤ礦

㤨СʲΤ褦˥ץष:


    keylset ttyFields ttyName tty1a
    keylset ttyFields baudRate 57600
    keylset ttyFields parity strip

echo $ttyFields¹Ԥȡʲޤ:


    {ttyName tty1a} {baudRate 57600} {parity strip}

뤤Ȥä:


    set ttyFields(ttyName)  tty1a
    set ttyFields(baudRate) 57600
    set ttyFields(parity)   strip

Q.B2- Tclˤϡ

ĥTclˤϡƥɸC饤֥Ȥäȯ randomȤޥ
ɤޤ

㤨С09ޤǤʤСʲΤ褦ˤޤ:


    set random_number [random 10]

ޤsrandomȤޥɤμǤޤ

μꤹˤϡʲΥޥɤȹ礻Ѥ ɤǤ礦
(UnixϤΥƥ):


    [pid]
    [file atime /dev/kmem]
    [getclock]        (ĥTclΤ)

٤Tclǽ񤫤줿 Ĥβؿcomp.lang.tclƤƤ
 ΰϡ tcl-faq/part4 򻲾ȤƲ

ʲϤ1ĤǡĥTclǤƱ󥿥åTclΤߤǽ񤫤줿ΤǤ 
Don LibesˤΤǤΤäȤå ܤΤȡ


    proc random {args} {
        global RNG_seed
    
        set max 259200
        set argcnt [llength $args]
        if { $argcnt < 1 || $argcnt > 2 } {
            error "wrong # args: random limit | seed ?seedval?"
        }
        if ![string compare [lindex $args 0] seed] {
            if { $argcnt == 2 } {
                set RNG_seed [lindex $args 1]
            } else {
                set RNG_seed [expr \
                    ([pid]+[file atime /dev/kmem])%$max]
            }
            return
        }
        if ![info exists RNG_seed] {
            set RNG_seed [expr ([pid]+[file atime /dev/kmem])%$max]
        }
        set RNG_seed [expr ($RNG_seed*7141+54773) % $max]
        return [expr int(double($RNG_seed)*[lindex $args 0]/$max)]
    }

Q.B3- ץ㤫֤ʣΥѥ᡼̤Υץ˰
Ϥˤϡ

y ʣΰ׵ᤷx ʣθ֤Ȥޤ Tcl  evalޥɤȤ
Ƥޤ:


    eval y [x]

Q.B4- ץϤˤϡ

⤷ǽǤʤСХѿȤ⡤ upvarޥɤƸ
Ǥ ⤷ؿ٥ȶưǤʤСХѿȤ虜ޤ
󤬡


    # ǤϤ
    proc show_array arrayName {
        upvar $arrayName myArray

        foreach element [array names myArray] {
           puts stdout "${arrayName}($element) =  $myArray($element)"
        }
    }

    set arval(0) zero
    set arval(1) one
    show_array arval

˼褦ˡץ㤫֤ˤϡ ̾ȤͿ
ƤǤ ФƹԤäɤΤ褦ѹ⡤(ƽи)ȿ
Ǥޤ

ĥ Tcl ϡͤȹ礻ΥꥹȤǤ롤դꥹȤȸƤФ 󥻥
ȤƳƤơͥåȥͳʤɤǤ⡤ͤ롼˰ ϤȤ
ޤ

Q.B5- ޥɤ¹ԤơνϤѥפ̤ɤˤϡ

㤨СĤΥեФ grep ǥѥޥåԤʤС ʲ
ˡʤɤͤޤ:

Karl Lehenbauer (karl@NeoSoft.com) 񤯤Ȥˤ:


    set files [glob /home/cole/stats/*]

    proc parseInfo { site } {
       global files

    #
    # ѿsiteͽlistboxꤵƤ
    #
       set in [open [concat "|/usr/bin/grep $site $files"] r]

       while {[gets $in line]>-1} {
          puts stderr $line
       }
       catch {close $in}
    }

: ޥåʸ󤬡ǥ쥯ȥʤ

⤷꥿󡦥ɤåġΥޥɤνϤȤʤ:
Kevin B. Kenny (kennykb@dssv01.crd.ge.com) 񤯤Ȥˤ:


    if [catch {exec ls} data] {
        # exec顼򵯤ʤ, $errorCode˽λơ
    } else {
        # exec
    }
    # ɤʾǤ⡤`data' ˤϻҥץνƤǼ롥

Karl Lehenbauer (karl@NeoSoft.com)  errorCode ʸ "CHILDSTATUS" 
ץΥץID ҥץνλơ 3 ĤǤĥꥹȤȤ
ƲäդƲ

Q.B6- ץǥץˤϡ

ץ̵̾̾(ʸ)˥͡षޤ㤨:


    rename procedureName ""

Q.B7- 7ʾ٤٤ˤϡ

Tcl 7.x ǤϡХѿtcl_precision117ϰϤ setޤ㤨:


    % expr 4*atan(1)
    3.14159
    % set tcl_precision 0
    can't set "tcl_precision": improper value for precision
    % set tcl_precision 3
    3
    % expr 4*atan(1)
    3.14
    % set tcl_precision 16
    16
    % expr 4*atan(1)
    3.141592653589793
    % set tcl_precision 18
    can't set "tcl_precision": improper value for precision

Tcl 6.xǤϡtclExpr.c⥸塼%g %lf Ȥ褦˽񴹤ޤ

Q.B8- Ȥ߹߸ƽФȯȥåפˤϡ

դʤޥɤƤӽФ줿ݤˤϡ ץunknown (դ
ʤä)ޥ̾ȤΰˤƼưŪ˸ƤӽФޤ ºݤνꡤ
TclĥTclϡεǽ ޥɤ饤֥μưɤ߹ߤεǽ¸
Τ˻ѤƤޤ ޤ"tclsh""tcl"ŪѤ硤 
ޥɤμ¹Ԥ(ǽ"exec"ǤޤʤȤ)ǽ Ƥޤ

äơunknownץ񤭴С ȼεǽĥԤޤ ˾
Сưɤ߹ߤεǽ뤳ȤǽǤ

Q.B9- Ķѿɤ߽ФԤˤϡ

㤨СΤ褦˹Ԥޤ


    set olddisplay $env(DISPLAY)
    set env(DISPLAY) unix:0

ͿƤ줿 Joel Fine (joel@cs.berkeley.edu) ˴ա

Ķѿ¸ߤƤ뤫ɤĴ٤ΤϡΤ褦ˤޤ:


    if [info exists env(VARNAME)] {
        # ĶѿƤΤǡȤ
        set value $env(VARNAME)
    } else {
        # ĶѿꤵƤʤΤǥǥեͤȤ
        set value "the default value"
    }

Q.B10- Ƭ0դ򰷤ˤϡ

TclǤϡƬ0Ĥ8ʿ(뤤16ʿ 0ľʸ'x'
Ĥ)Ȥɾޤ ȤƤʵǽǤĤ
⤢ޤ
    o 8ʿȤ(ޤϡ16ʿȤ)ʤä硤ɤʤ뤫 
      Tcl 7.4b3Ǥϡ󥿥ץ꥿ϡ08Τ褦ʿưȤ ɾ
      褦Ȥޤ7.4b3ϡΤ褦ʿͿ 󥿥ץ꥿
      顼å褦ˤʤޤ
    o ͤ10ʿ(פƬ0դʤ)ɾߤʤС ɤ
      Ρ 0ͤФʤޤ󡥰ʲϹͤstripzeros ǽμ2
      Ǥ:

      
          proc stripzeros {value} {
              regsub ^0+(.+) $value \\1 retval
              return $retval
          }

      뤤ϡ

      
          proc stripzeros {value} {
              set retval [string trimleft $value 0]
              if { ![string length $retval] } {
                  return 0
              }
              return $retval
          }

      ơޥɤͤͤȤϤơ ġοͤƬ0
      ˤϡΥץ ޤ̤褦ˤޤ㤨:

      
          set dayofweek [expr $days%7]

      Ȥ:

      
          set dayofweek [expr [stripzeros $days]%7]

Q.B11- ޥɥ饤򻲾ȤΤǤɡ

ץ̾ϥХѿ argv0 졤ΰϥХѿ argv 
ꥹȷǳǼޤѿ argc ˤϡ argvΥꥹȤǿ Ǽޤ
򼨤ʤ:


    #! /usr/local/bin/tclsh

    if { $argc != 2 } {
        puts stderr "$argv0: Usage: $argv0 <infile> <outfile>"
        exit 1
    }

    set infile  [lindex $argv 0]
    set outfile [lindex $argv 1]

Q.B12- Ȥΰ˥Хդ

餬ԤΤȰ㤦 (ơ¾θ줬Ʊǿ񤦿񤤤Ȥۤ
) TclοդͤޤϡδԳο񤤤Хȹͤ
 ΤäȤⵯϡʸȻפޤ

TclǤϡѡ̤ƤʪϡȤޤơ Ŭڤʥꥹȹ¤
ƤʤФʤޤ(ơȤϥѡ ̤ΤǤϡ
ĤθǤñˤʳǺƤޤ ǤΤоŪǤ) 
ŪˤϡȥȤ줿γ̤бȼƤʤ 
ʤʤȤ̣ޤ

äơ㤨ФåifʸäȤơ ̤ξƥȤ
ȻפäȤޤ礦ξ򥳥ȥȤ ifʸ񤤤Ȥ
ޤ Υɤϡ餯ϡбĤ̤ʤפȤ顼ˤʤ
礦


    ## ְä
    if { $newflag } {
    # if { $oldflag } {
        puts hello
    }

ξ硤̤б褦ˤʤФʤޤ㤨:


    ## 
    if { $newflag } {
    # if { $oldflag } {
        puts hello
    # }
    }

TclΥȤǤ¾򤤤Τϡ³ԵŬѤǤ礦 ʤ:


    # Хååǽ륳ȹ \
      ơιԤΥȤΰȤʤ롥

Q.B13- Хʥꡦǡɤ߽񤭤򤹤ˤϡ

ŪˤϡTcl󥿥ץ꥿ϤۤƤʪnullüʸȤ ߤƤޤ
ϥХʥǡʸ(ŪΤ˸ʤС nullȤ߹ޤ줿ʸ
)ȤľܤˤϰʤȤ̣ޤ

ʤ顤ĤϥǡTclѿ˳ǼƤʤȤ ư뤳
ȤǤޤ㤨Сեϥɥϳץ ľĥդޤ


    set infp [open "|compress -dc $fileName"]

    exec gzip -c $newFileName <@ $infp

뤤ϡĥTclʤ:


    set infp [open "|compress -dc $fileName"]
    set outfp [open "|gzip -c $newFileName" w]

    copyfile $infp $outfp

뤤ϡ餫ˡTclѲǽʷ˥ǡѴƤޤ ⤢
礦:
    o atob/btoauuencode/uudecode뤤odȤäե륿 ѥפ
      ̤ɤ߽񤭤롥
    o ɸTclȤä1٤1ʸŤĥХʥǡȤˡϡ 
      ftp.aud.alcatel.com:/tcl/code/binary-io-hack.shar.gz˸ޤ
    o ХʥǡΰǽȤĥ2¸ߤޤϡ tclbin  
      BinarIOǤ ԤϹ¤ΥǡΰŬԤϥХʥǡȥ꡼
      Ǥ ѤŬƤޤ

£Ƥ줿 Wayne Throop throop@aur.alcatel.com ˴ա

Q.B14- ʥȥåפȤ¾UnixͭεǽȤˤϡ

ĥTclϡΤμεǽ󶡤Ƥޤ 㤨СĥTcl ˤ 
signal ޥɤޤ

    signal action siglist [command]

    actionϡ "default", "ignore", "error", "trap", "get"˲ä
     POSIX"block" "unblock"Τ줫 (POSIX 
    ƥǤΤͭ) siglistϡɽ뤤ϿɽUnix
    ʥΥꥹ (ֵˡ SIG ϥץ). commandϡ
    顼ϥɥ (뤤ϡñˡ{puts stdout "ʥϲ
    ǡ"} :-) trap ϴ̤ưޤerror  get ϡ ܡ
    ɡȥС뤬ɬפʲŪץǤϡȤƤͭǤ

    ĥ Tcl ϡforkʤɤεǽäƤޤ

 Brad Morrison (brad@NeoSoft.com).

Q.B15- ܻ򤷤Τɡ-- $$varưʤΡ

󥿥ץ꥿ɾˡ 1٥ΤߤִǽʤΤǤ 
ޤѿִȯˤϡ󥿥ץ꥿ϥɥ뵭򸫤Ĥȡ³ 
ʸ˻ޤƤʸ(ȤϡѿڤӲʳ ʸ
Ȥ)ѿ̾Ȥưޤäơˡ ${varname}Ǥ
ڤȤǧޤ

$$varξ硤 ɥ뵭θκǽʸʸ(Υɥ뵭)ǤΤǡ 
̾¸ߤʤˤʤꡤѿִƯޤ (2ܤΥɥ뵭ϤΤޤ޻Ĥ
ޤ) ƻĤΥɥ뵭ΤιʸϤϤ졤α¦ѿ̾Ȥ 
ޤΤᡤľ2ܤΥɥ뵭ʹߤѿִ졤 ʸϤϤ
ʹߤִʤɤĴ٤ˤäƤޤޤ ʹ߲ʤʤС
󥿥ץ꥿̤Υѥˤִ λޤ(1Τ߹Ԥ뤳Ȥ)

evalޥɤϤΰ򥤥󥿥ץ꥿̤ޤ ǡ2ܤΥѥ 
ץ꥿̤evalȤǤ $$varưǤǤ
:


   % set a 5
   5
   % set var a
   a
   % puts $$var              # ưʤ
   $a
   % eval puts $$var         # ư--- ɴ
   5

ǤѿvarƤüʸ (ڡ䥻ߥʤ)ޤޤƤȡ
꤬ȯƤޤǤ礦

褤ˡϡ1ΤͿ줿set ޥɤοѤ ޥ
ִѿִȤ߹碌ƻѤΤǤ:


   % puts [set $var]         # ư
   5

ޤºݤˤϥޥִ(٤1Ȥ[]ˤƯʤ) ȤäƤǤޤ:


   % puts [set [set var]]    # Ʊ褦ư
   5

褦Ȥơѿvar1, var2,  var3ͤνϤͤƸޤ礦:


    set var1 3.14159
    set var2 hello
    set var3 13
    foreach num {1 2 3} {
	puts "var$num = [set var$num]"
    }

ϡʲϤޤ:


    var1 = 3.14159
    var2 = hello
    var3 = 13

upvar ޥɤϰۤʤäѿˤȤޤ

äˡ7.4ǤִԤ碌Τ˻Ȥ subst ޥɤƤޤ

嵭ˤƤˡФƤȤޤ

Q.B16- Ȥ줿ʸտޤ̤ưˤϡ

򰷤äĹʸεϡ 
ftp://ftp.aud.alcatel.com/tcl/docs/README.programmer.gzޤ

˷ǺܤΤϡûǤ:

Q.ˤʤäƼ¹Ԥ륳ޥɤȤΩƤ褦ȤƤΤǤ üʸ
ͤ˴ޤѿ꤬ФƤޤޤ

A.ޥɤȤΩƤǤˡϡ list ޥɤȤȤǤ 
Сꥹȹ¤ˤߤޤ ;פʥХ奨ˤɾԤ
ޤȤ⤢Τǡ ֥륯ȤλѤ򤱤ޤ礦 Ȥơ 
ɽƤ٥Ϥܥץ ޤ

    ְ㤨 #1:
      button $myname -text $label -command "puts stdout $label"

    ʤ
      ϡ⤷$labelʸޤʤ顤 putsޥɤ˴ְ㤨ΰ
      ϤƤޤǤ $label$[]ʸޤʤ顤 Ϥ줺ɾ
      Ƥޤޤ

    ɤ #2:
      button $myname -text $label \
               -command [list puts stdout $label]

    ʤ
      list$labelͤŬڤ˥Ȥ뤫Ǥ

Q. ˤʤäƼ¹Ԥ륳ޥɤȤΩƤ褦ȤƤΤǤ ѿȤΩƻ
ɾƤޤäꡤ ޥɤμ¹ԻɾƤޤäꤷơפ̤
ưƤޤ

A. ԤǤˡϡ ¹ԻѿλѤä褦˥ץ
뤳ȤǤ ơ˽Ҥ٤ͤ listޥɤѤƥץ
ƤӽФȤΩƤޤ (¹ǤäƤץϲǽǤ 
̤ΥץƤ⡤ ϥХʥפޤ)

    ְ㤨 #1:
      button $myname -text $label -command \
               [list puts stdout $ArrayOfDynamicStuff($label)]

    ʤ
      ѿϥܥ줿֤ͤƤޤ ܥ󤬥
      줿ͤȤϤʤʤǤ ޤޥɤХʥ
      פǼ¹Ԥ뤳Ȥˤ դʤФʤޤ Τᡤ "global
      ArrayOfDynamicStuff" ޥɤ˴ޤɬפϤޤ

    ְ㤨 #2 (ХåȤ list):
      button $myname -text $label -command \
               [list puts stdout \$ArrayOfDynamicStuff($label)]

    ʤ
      Ǥϡlistޥɤ $ ΥХåȤ ߤ˷ޤƤޤޤ
      ̤ȤΤο񤤤ϰʲͤˤʤꡤ

      puts stdout {$ArrayOfDynamicStuff(foo)}

      ǤͤФִƯʤʤäƤޤޤ

    路 #3 (ХåȤȥ֥륯):
      button $myname -text $label -command \
               "puts stdout \$ArrayOfDynamicStuff($label)"

    ʤ
      $labelͤüʸʸޤޤʤ, ޤȤưޤ

     #4 (proc):
      
               proc doit { i } {
                  global ArrayOfDynamicStuff
                  puts stdout $ArrayOfDynamicStuff($i)
               }
               button $myname -text $label -command [list doit $label]

    ʤ
      ܥΤ˴ñTclץäƤͤˤƤС 
      ưƤޤ Τʤ顤Ťäƥ󥰤򤹤ɬפʤƤ
      ޤ ܥ󤫤鵯ưλѹ⡤ưפˤʤޤ

Q. ץ˲ѸĿΰϤȤƤΤǤ $argsŸ
ȤǡĤޤäƤޤޤ

A. evalȥ֥륯ȤȤ߹碌ƻȤȤΤϡ ߤޤ礦 ʤ
顤ȡ;פɾưƤޤǤ evalޥɤϡΰ
1İʾξϡ1ĤϢ뤷ޤ Τᡤ֥륯Ȥ1Ĥ
äƤɬפޤä̵ʤޤ ҤbuttonĥƸޤ礦

    ְ㤨 #1:
      
               proc mybutton { myname label args } {
                  button $myname -text $label \
                      -command [list puts stdout $label] $args
               }

    ʤ
      ѿ$args˳ǼƤ mybuttonؤƤɲðϡ 1ĤΥꥹ
      ˥롼ײƤޤäƤޤ ʤ顤buttonޥɤϤΰ
      ˡ ֥ꥹȤǤϤʤġΰ׵᤹뤫Ǥ

    ְ㤨 #2:
      
               proc mybutton { myname label args } {
                  eval "button $myname -text $label \
                          -command [list puts stdout $label] $args"
               }

    ʤ
      ֥륯Ȥϡ$argsƱ褦ˡ $labelŸǽˤޤ 
      ᡤ$labelͤ˶ʸޤޤʤ顤 buttonޥɤˤϡ 
      ¤ӤϤ뤳ȤˤʤäƤޤޤ

    ɤ #3:
      
               proc mybutton { myname label args } {
                  set cmd {button $myname -text $label \
                           -command [list puts stdout $label]}
                  eval $cmd $args
               }

    ʤ
      evalϡǽ 2 ĤΰϢ뤷ơ ˤη̤򥤥󥿥ץ꥿𤷤
      ¹Ԥޤ ϡ$cmd$args顤 ¦Υ꡼̤򳰤ơ 2Ĥ
      ѿƤǤ1ĤΥꥹȤˤȹͤޤ $labelϡ1󤷤ɾ
      ޤ ơputޥɤưޤ ˡargs
      ٤ˤ⡤1󤷤ޤ

Q. ʤ if/while/forʸ ʸˡ顼ˤʤäƤޤΤǤ礦

A. ҤäȤơ


    wish: set foo bar
    wish: if {$foo == bar} {puts stdout bar}
    syntax error in expression "$foo == bar"

ͤ˽񤤤ƤϤʤǤ礦

ǤϡʸȤƤѿȤƤɾޤ ΥڥɤȤƤ
ʸϡ ֥륯Ȥ̤ǳäƤͤФʤޤ


    wish: if {$foo == "bar"} {puts stdout bar}




    wish: if {$foo == {bar}} {puts stdout bar}

ͤ˽񤭴ޤ礦

ɤ֤ϡŸɤǷƲ

εҤϡJesper Blommaskog (d9jesper@dtek.chalmers.se)Υȥӥ塼
ȤǤ

Q.B17- ץʣΥץȤǶͭˤϡ

Ū˥եsourceΤǤϤʤ Tcl饤֥褦ˤޤ礦

    Step 1.եͭǥ쥯ȥ֤ޤ

    Step 2."饤֥" ΤΡtclIndex ޤ
       Makefile ˡΤ褦˽񤤤Ƥޤ
               install.index:
                   (cd ${DESTDIR}/tclscripts/lib; \
                   echo 'source /usr/local/lib/tcl/init.tcl;\
        	   auto_mkindex . *.tk' | tcl ; exit 0)

    Step 3. Tcl ץȤˡ 饤֥򻲾Ȥ褦ˤޤ
      㤨СʲΤ褦ˤޤ
               # local additions
               lappend auto_path /usr/local/lib/tcl_local \
                    $env(RDS_TCL_SCRIPTS)/lib

      Τ褦ˤС ץȤϥץ饤֥椫黲Ȥ
      Ȥ "unknown"ޥɤ ưŪ˥ץɤ߹Ǥޤ

εҤϡ Joe VanAndel (vanandel@ncar.ucar.edu)Υȥӥ塼ȤǤ

Q.B18- ꥹȤ줿Ǥˤϡ

褯ʤ


  linsert $list 0 ..

ȼ¹ԤΤˡ̤ .. ƤʤΤʹޤ

Jesper Blommaskog (d9jesper@dtek.chalmers.se)  ʲΤ褦Ƥޤ

    lappendʳΥꥹǤϡͤ¸ʤФʤޤ 
    ϡlist,lindex,lrange,lreplace ƤϤޤޤ

    ϡҤäȤꤿäưǤ


  set list [ linsert $list 0 .. ]

Q.B19- ե뼱̻Ҥ֥åϤԤˤϡ

From Frank Smith (frank@arraysystems.nstn.ns.ca) ˤȡ ĥ Tcl ä
ʤ顤


  read $fileId [fstat $fileId size]

Τ褦ˤƼ¸ǽǤ ϡfileId餽λɤ߹
Хȿɤ߹ߡ ̤Ȥƥ֥åޤ

Q.B20- ǥåɥå˥ѥפϤˤϡ

ɸϥѥåϡ (Ϥ)ʸХåե󥰤 ɬפʥƥ
ԤʤƺѤ褦ˤ뤳Ȥǡ ®٤ŬƤޤ ϲ
ŪʻѤˤŬڤǤΤǡ ɸϤϤο񤤤ե뤬üǤ
ˤѹޤ (Ǥ)ѥפ˽񤭹ˤϡü˽񤭹ǤǤ
ʤΤǡ 񤭹ϤϥХåե󥰤Ƥޤޤ Ʊͤˡѥפθ
ˤ¾ΥץबαϤˤ⡤ Хåե󥰤Ƥ
ޤ ̤ȤơѥפξüΥץϡ ߤϤԤäΩ
ޤޤ 褹ˤϡTcl Ǥflushޥɡ C Ǥfflush()Ȥ
ƥѥפեå夹뤳ȤǤ äȤ⡤ ФСѥץ饤üΥץ
椬ʤ⤢ޤ ͤʾϡ褹ͣβϡ
ü(pty)ȤǤ Ϥñ˹Ԥ뤳ȤǤϤޤ

ɸ Tcl ǤϥݡȤƤޤ󤬡 expectǤϡ spawnޥɤ 
pty򳫤ƥޥɤư뵡ǽ򥵥ݡȤƤޤ

Q.B21- ¹ΥСΤˤϡ

ƤͤϤʤͤǤס Tcl ȤΥС
Ƥޤ ʲΤ褦ǤǸޤ礦


  info tclversion

ޤTk ΥСϡʲΤ褦ˤΤ뤳Ȥޤ


  puts $tk_version

¾γĥǤϡ¾μʤǤ礦(㤨гĥTclǤϡ infox versionǥС
ޤ)

7.4Ǥϡtclshμ¹ԥեϥǥեȤֹĤƥ󥹥ȡ 
褦ˤʤޤϡ٤ΥС餻ƤΤ ʬ䤹
Ƥޤʤ顤ǥ󥹥ȡ뤵Ƥʤ ƥǤϡ
С򥷥ץץȾΤˤϰʲΤ褦ˤޤ:


    echo 'puts $tcl_version;exit 0' | tclsh

(;exit 0ʬwishwishǤΤɬפȤޤ 줬ɬפǤʤ
Ǥⲿ⤷ʤפǤ)

Q.B22- ̾줿ѿȤˤϡ

Eric Bleeker (ericbl@paramount.nikhefk.nikhef.nl) 񤯤ˤ:

    ҤäȤ顤˽񤤤Ƥޤ:


    % set foo "bar baz"
    bar baz
    % foreach aap $foo {
        set $aap(1) "something"
    }
    can't read "aap(1)": variable isn't array

    ϡTcl"aap(1)" ¸ߤƤ⤤ʤΤִ褦
    ƤΤǤ 褹ˤϡʲΤ褦ˤޤ


    % foreach aap $foo {
        set [set aap](1) "something"
    }

    ξϡ2 Ĥ"bar" "baz"ޤ

̤ηȤơʲΤ褦ʷͤޤ


    % foreach aap $foo {
        set ${aap}(1) "something"
    }
------------------------------------------------------------------------------

顼å˴ؤ

ܾϤǤϴĤΥ顼ȤΤꤦ(Ǥɽ̾ʬʤ)ͳ ޤ

Q.C1- "not found" ޤ "Command not found"

Υ顼åTclǤϤʤ뤫𤵤ΤǤ 
Ȥ餯 #! ǻϤޤäƤơθTcl󥿥ץ꥿ ѥ̾ҤƤ
ΤǤ礦줬ѤƤ륷ƥˤȤä Ĺ᤮ΤǤ¿Unix
ƥǤϡ(#!ޤ)32ʸˤ Ĺ¤Ƥޤäơ
褦ϥ顼ȤʤǤ礦


    #! /usr/home/homedir/very/long/path/tclsh

    # rest of script

tclshμ¹ԥե̤Υǥ쥯ȥ˰ưʤꡤܥå 󥯤ĥ
ʤꤹСΥѥĹû뤳ȤǤޤޤ̲ ƥѥŪ
˻ꤷʤȤȤޤ Ԥϡ tclsh󥹥ȡ
Ƥ˴طʤ ץȤưˤϡפ򻲾ȤΤȡ

    []
      ̵񤫤Ƥѥtclshμ¹ԥե뤬¸ߤƤʤʤ Τ
      Ǥ뤳ȤϸޤǤ⤢ޤ

Q.C2- invalid command name "}"

ݳ̤ǽԤ򥳥ȥȤƤΤǤ礦ܺ٤ʾϡ ֥
Ȥΰ˥Хդ 򻲾ȤƤ

Q.C3- missing close-brace

ݳ̤бƤʤΤǤ礦츫ʬʤ褦ʾ ϡ 
֥Ȥΰ˥Хդ 򻲾ȤɤǤ礦

Q.C4- X server insecure (xauthǧڤȤ)

TkϡsendޥɤȤˤϡXФȤȤ׵ᤷ ޤ
ˤˤϡThomas AccardoTk ġ륭åȻȤFAQ μ2.A.7Tk3.3
ȵưˤ - ƥ顼å ФΤǤפ䡤 
http://ce-toolkit.crd.ge.com/tkxauth/򻲾ȤɤǤ礦

Q.C5- expected integer but got ...

Υ顼ϡ餫λѱ黻ԤäƤݤˡ줬 ᤹黻
Ǥˤ⤫餺Ϳȯޤä ʤȤˡͤ
ưñʤ륭饯ʸǤäƤ⡤줬 ɤʤ
СΥ顼ȯޤƬ0Ĥ ϡƬ0դ
򰷤ˤϡ 򻲾ȤƤ

Q.C6- "Undefined symbol: main" 뤤ϡ顼

ץꥱ򥳥ѥ/󥯤ݤˡmainؿ դʤȤ顼
ȯ硤餯ϡץꥱ Tcl7.3Ѥ˽񤫤Ƥˤ
餺7.4ǰʹߤ˥󥯤 褦ȤƤΤǤ礦

TclΤΥС mainؿ饤֥ (libtcl.a)˻äƤޤϡ
äC++ץǡ ޤޤȤˤʤޤΤᡤ
Tcl7.4b1γϻ ˤϺޤTcl饤֥󥯤륢ץꥱ
ϡ ߤǤmainؿɬפޤ
------------------------------------------------------------------------------

ץåȥۡͭ뤤ϰܿ˴ؤ:

ܥϡTclʤ͡ʥץåȥۡǥѥ뤹뤿 Ĥ
ΥҥȤǺܤޤ˷Ǻܤ줿ƤϡǿΥ꡼Ǥ 餯
ϤޤʤǤ礦

Tcl 7.4ʹߤΥ꡼򥳥ѥ뤹Τˡɸʤιۤ 䤤
碌򤷤褦Ȥ͡ΤˡSunˤäƴ 饤ǡ١
Ѳǽˤʤޤ ưŪ˥ѥ뤬ʤϡ 
http://www.sunlabs.com/research/tcl/ λѤƤץåȥۡ˴ؤ
ƸƤ ޤϿƤʤץåȥۡˤ 
󥹥ȡʤСμ¸̤ȤɽƤäƤ

Q.A2- Υޥ Tcl ưɬפʾˤϡ⻲ȤΤȡ

Q.D1- AIXTcl/Tkζͭ饤֥ۤˤϡ

Dov Grobgeld (dov@menora.weizmann.ac.il) AIX 3.1.5ǡTclTkζͭ饤
ˡȯɽƤޤ:

    TclǤ:


    cc -o tkshar.o *.o -bE:tclshar.exp -bM:SRE -berok -lX11 -lm
    ar r libtclshr tclshar.o

    TkǤ:


    cc -o tkshar.o *.o -bE:tkshar.exp -bM:SRE -berok -Ltcl -lX11 -lm -ltclshr
    ar r libtkshr tkshar.o

     tckshar.exp  tkshar.exp ϡؿΥꥹȤǤ

    AIX  IBM ΥեȤ⤢ޤ X Фѥå
    IBMꤹɬפꡤ СեȴϢưޤ

Q.D2- HP-UXTcl򥳥ѥǤͤϤޤ󤫡

ݡƥ Ρ(եporting.notes)򻲾ȤƲ ޤConfigure
ߴСopendir() (ѥ)Ȥ٤ȽǤƤޤɡ 
dirent.h¸ߤƤʤȤ𤬴ĤʤƤޤ ϡglob
ǥ顼ޤ TclXreaddirǤƱͤǤ

tcl 7.3Ǥϡopendirθߴե ѹԤޤ礦 ơ-
DNO_DIRENT, -DUSE_DIRENT2Сϲ褷ޤ

Q.D3- VMSTcl򥳥ѥǤͤϤޤ󤫡

1993ǯ54ˡ John Kimball (jkimball@src.honeywell.com) 󤻤줿
ˤС Tcl 6.7Tk 3.2VMS 5.5 ˥ݡƥ󥰤뤳Ȥ
Ǥ եξϥ򻲾ȤƲ

Q.D4- SCO UnixTcl򥳥ѥ뤹ˤϡɤ餤Ǥ礦

"#undef select"tkEvent.c˲ä main.c460ܤTK_EXCEPTIONλȤ
ޤ

TkϡΥåΩɽΤˡ ɽȤΥ顼ݤΤȼλ
ߤȤäƤޤ 줬Tk"Pseudo Color" ǥץ쥤饹ǡ 16
Υ顼ޥåפΥޥǼ¹ԤݤȤʤޤ

8bitץ졼ȤʤʤС ǥץ쥤饹 "StaticColor" ˤͤˡ 
Ф "-static"(Xsco)  "-analog"(Xsight)ץΩ夲Ȥ褤
Ǥ礦 ϡ顼ޥåפɤ߹ߤΤߤȤ ׵ᤵ줿ˤǤ
Ǥᤤ֤褦ˤޤ

ξϡ Keith Amann (Keith_Amann@stortek.com)󤻤ޤ

Q.D5- tclText餻ȡformatscanǥ顼ˤʤΤϲΡ

(scanf/printf)ϡ ¿ΥƥǸޤ˴ؤƤϡ
мˤʤɬפϤޤ --- `٤'ǽȤʤǤ ⤷
ʤCΥϥåʤСƱ˽ж魯ȦǤ

㤨С(ƥǤ)printf("%Ng", double_value) 
strtod("+",&terminal) ϡä֤Ǥ礦

Q.D6- tclTextIrix 4.0.1餻Ȱե顼ФΤϲΡ

ϡ4.0.1ΥץƥޥΥХǡ 4.0.2ǤϽƤޤ tclVar.c
ץ-O0(Ŭ̵) ѥ뤷Ʋ

Q.D7- CrayTclʤ餻ͤϤޤ󤫡

ݡƥ󥰡ΡȤѹ˴ؤ뵭Ҥ򻲾ȤƲޤ Booker
C. Bense (benseb@grumpy.sdsc.edu)ϡ С3.0.1.6Ǥϥ饯Υݥ
󥿤ο꤬ꡤ Tclå夹𤷤Ƥޤ С
3.0.2.1Ȥ¿ϥޥǤ formatޥɤκ٤ʥХȡ scanޥ
οϻĤ뤽Ǥ

Q.D8- Tcl 7.1/Tk 3.4NeXTSTEP 3.1餻ˤϡ

˴ؤƤϡ礭ʵθȤʤޤεҤ ʬ
ΥƥȻפβ֤뤳ȤȤޤ

Robert Nicholson (robert@steffi.demon.co.uk)ˤ:

    TCL7.1  TK3.4 оݤȤޤ

     Thomas Funke β¤Ǥ

    TCL7.1NeXT˥󥹥ȡ

    tcl7.1NeXTSTEP 3.1˥󥹥ȡ뤹ˤϡʲΤ褦ˤޤ:
            o configure CPPǼ¹:
              ܡ󥷥¹Ԥ뤿ˡ"sh"Ǥߤޤ 
        ơʲΤ褦˥פޤ

      
          CPP='cc -E' ./configure
            o Makefile Խ:
              tmpnam.oCOMPAT_OBJSɲ:

      
        COMPAT_OBJS =      getcwd.o waitpid.o strtod.o tmpnam.o

    λNeXT饤֥libsys_a.aǶ뤵ΤФơ strtod
    tmpnam̤뤿ˡ Ŭ̾ѹȻפǤ
     ԤˤϡAC_FLAGS˰ʲιԤդä뤳Ȥǽ
    ޤ


    -Dstrtod=newstrtod -Dtmpnam=newtmpnam

    ̾ѹ줿ؿϡcompat/*.cˤޤ

    Ƥưɤåˤϡ tclshưʲ
    ¹Ԥޤ


    % expr {"0" == "+"} 
    0

    ְ㤨strtodؿѤƤʤС֤ͤ1ˤʤꡤ ʥ顼
    Ȥʤޤ٤˴ؤ륨顼̵뤷ޤ

    TclNext˥󥹥ȡ뤹ˤϡ

    Tk3.4 ˤstrtodؿθƤӽФΤǡ Ҥ..
    /tcl-7.1/compat/strtod.o˥󥯤ĥꡤ AC_FLAGS-
    Dstrtod=newstrtodդäɬפޤ

    : Tk  raise ϡ ɥޥ͡tvtwmȤäƤ
    ȼԤޤ λ̤ˤϡtwmfvwmʤɤѹɬ
    ޤ

Q.D9- SGI Indigoǥ顼ФΤϤʤ

Gordon Lack (gml4410@ggr.co.uk)ˤС SGICѥˤѿΰ
ĤΥ顼뤽Ǥ

tclVar.cϡIRIX C4.0.1Ǥϡѿ˴ؤХΤᡤ -O0ǥѥ뤵
ͤФʤޤ

Makefile Υ롼ʲΤ褦˽񤭴Ƥޤ


    # GGR SG needs -O0 for varargs at 4.0.1

    CC_SWITCHES0 =  -O0 -I. -I${SRC_DIR} ${AC_FLAGS} ${MATH_FLAGS} \
          ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \
          -DTCL_LIBRARY=\"${TCL_LIBRARY}\"

    tclVar.o: tclVar.c
          $(CC) -c $(CC_SWITCHES0) $<

Peter Neelin (neelin@pet.mni.mcgill.ca)ϡΤ褦դ򤷤Ƥޤ

ϡեConfig.mk򼡤Τ褦ѹơ TclX 7.3aSGI(irix4.0.5)ǥ
ѥ뤷ޤ


    71c71
    < CFLAGS=-cckr -D__GNU_LIBRARY__
    ---
    > #CFLAGS=
    106,107c106,107
    < TCL_PLUS_BUILD=TCL_PLUS
    < CCPLUS=g++
    ---
    > #TCL_PLUS_BUILD=TCL_PLUS
    > CCPLUS=CC
    191,193c191
    < MAN_DIR_SEPARATOR=
    < 
    < LIBOBJS=strftime.o
    ---
    > #MAN_DIR_SEPARATOR=.

-D__GNU_LIBRARYsrandom褷ޤ פˡ-cckrwaitpid ץ
ס顼򵯤ޤ(ǤȤꤢưޤ) strftimeʤɬ
פäϡ˺Ƥޤޤ

κ Config.mkΥСߤʤС᡼뤷Ʋ

Q.D10- expectSolaris2.3ǹۤˤϡ

Jeff Abramson (jra@hrcms.jazz.att.com)ˤ:

    SunPro cc 2.0.1ȤäƤgcc 2.5.8ȤäƤϤޤ 
    SunProʤСΤ褦ˤޤ


    CC=cc ./configure --prefix=directory_of_your_choice
    make CC=cc

    gccʤСʲ̤Ǥ


    CC="gcc -fwritable-strings" ./configure \
        --prefix=directory_of_your_choice
    make CC="gcc -fwritable-strings"

Q.D11- SequentTcl/Tkܿˤϡ

Andrew Swan (aswan@soda.berkeley.edu)ˤäƲޤ

    TclTkǡANSISequent ccǤϤʤgccѤޤ

    TclǤϡإ饤֥ˡ2Ĥ꤬ޤ1ˡSequentο
    إ ֥꤬'fmod'ؿޤǤʤȤǤ

    fmodΥftp.uu.netꤷ֥ǥ쥯 compat
    ޤơMakefileɲäޤ fmodϡ'isnan'
    'finite'ؿ ǻѤƤޤtcl̵¤nan򥵥ݡ
    ȤϿʤä ǡϥȥȤǤ

    إ饤֥Τ⤦1ĤϡΥ饤֥' tanh'ؿΥ
    ԡ2ġޤޤƤޤäƤ뤳ȤǤ "ar"Ȥäƥ饤֥
    ֥Ȥʬ򤷡 ȤΩľơtanhΥԡ
    ƤޤС ñfixǤޤ

    ͤѹԤСTclΥѥϤ줤˽λ⡤ 
    scanλʳϤ٤̤ޤɤ⡤DynixǤϡ *scanfؿ
    ƤͤǤϡ8ʿνǳǧ ǤޤϤ礦ɡ
    ˼ݤäȤǤϡ *scanfؿΥ
    դȤȤˤʤǤ 

    Tk򥳥ѥ뤹뤿ˡwchar_tΤ褦ʤΤ
     Сstddef.hͤФʤޤǤϤ̤
    󥯥롼 ɡǥ쥯ȥ˥ԡΥǥ쥯ȥǽ˻
    ꤷơ줬 Ȥ褦ˤޤTkǤإ饤֥
     (tanh) ȯޤʳ⤢ޤ٤ƤΥѥ
    Ϥ줤˽λ ٤Ƥλˤѥޤ

Q.D12- AU/X 3.0ǥܥơ֥뤬դˤʤΤ򤱤ˤϡ

AU/X ǤΥΥѥ뤬äʤС ǥեȤΥơ֥Υ
ĥ -A {factor}󥫤˻ꤷʤФʤޤ {factor}ϡ
ǥեȤΥβܤˤ뤫ꤷޤ -A 2Ƥߤޤ礦
ΰܿ˴ؤ뤳ʾξܺ٤ϡ Walter B. Kulecz
(wkulecz@medics.jsc.nasa.gov)Τ ϢɤǤ礦

Q.D13- MS-DOSMacOS¾UnixޥTcl򥳥ѥ뤹ˤϡ

Ϣġܿδλʡ˴ؤ᡼󥰥ꥹȾ ϡLarry
VirdenFAQ ( tcl-faq/part1)  ( tcl-faq/part4)򻲾ȤΤȡ

Q.D14- QNXޥTcl򥳥ѥ뤹ˤϡ

Steve Furr (furr@qnx.com)ˤ:

QNX  Tcl ưˤȤޤȤʤС
    o _POSIX_SOURCE 򡤥ѥ̾Ĺ򼨤˹Ԥ
    o VARARGS ѹԤСWatcom ANSI C ѥǡ 
      ĹδؿȤ褦ˤʤ롥
    o QNX 줿顼ɤȤξͤ褹롥
------------------------------------------------------------------------------
End of FAQ
