🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.tcl
Article #472

Re: [Q] Local-array edit

#472
From: NITTA Minoru
Date: Wed, 24 Apr 1996 00:00
42 lines
1700 bytes
新田@rd.enicomです。

Tclでローカル変数やFORTRANのCOMMONの様なものが欲しいとのことですが、
むかし作ったものがありましたので投稿します。

====================================================================
proc local {args} {
        set name [lindex [info level -1] 0]
        set command "upvar #0"
        foreach arg $args {append command " $name->$arg $arg"}
        uplevel 1 $command
}

proc common {name args} {
        set command "upvar #0"
        foreach arg $args {append command " $name->$arg $arg"}
        uplevel 1 $command
}

proc test {x} {
        local a
        common group1 b
        if ![info exist a] {set a 0}
        incr a $x
        puts a=$a
        set b $a
}
proc test2 {} {
        common group1 b
        puts b=$b
}

test 100
test2
test 200
test2

=====================================================================

---
  nitta@rd.enicom.co.jp
Re: [Q] Local-array edit
Technical Details
Message-ID: <4lk78m$g3@enicom.rd.enicom.co.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <4khveq$hbr@monaco.csl.rdc.toshiba.co.jp> <4kkgoe$hn5@monaco.csl.rdc.toshiba.co.jp> <87d95bupr8.fsf@plum.aic.co.jp> <4ksbaf$6i1@monaco.csl.rdc.toshiba.co.jp> <HOSHI.96Apr15154836@ext221.sra.co.jp> <w4l91fwa64s.fsf@altair.iij.ad.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 15a83d,44e727ecef0d621a
X-Google-Attributes: gid15a83d,public
From: NITTA Minoru <nitta@rd.enicom.co.jp>
Subject: Re: [Q] Local-array edit
Date: 1996/04/24
Message-ID: <4lk78m$g3@enicom.rd.enicom.co.jp>
X-Deja-AN: 151178364
references: <4khveq$hbr@monaco.csl.rdc.toshiba.co.jp> <4kkgoe$hn5@monaco.csl.rdc.toshiba.co.jp> <87d95bupr8.fsf@plum.aic.co.jp> <4ksbaf$6i1@monaco.csl.rdc.toshiba.co.jp> <HOSHI.96Apr15154836@ext221.sra.co.jp> <w4l91fwa64s.fsf@altair.iij.ad.jp>
content-type: text/plain; charset=iso-2022-jp
organization: R&D Department, ENICOM
mime-version: 1.0
newsgroups: fj.lang.tcl
x-mailer: Mozilla 1.1I [ja] (Windows; I; 16bit)