[PD-cvs] pd/src desire.tk,1.1.2.600.2.297,1.1.2.600.2.298
Mathieu Bouchard
matju at users.sourceforge.net
Tue Aug 7 03:17:39 CEST 2007
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24531
Modified Files:
Tag: desiredata
desire.tk
Log Message:
class_new Hash
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.600.2.297
retrieving revision 1.1.2.600.2.298
diff -C2 -d -r1.1.2.600.2.297 -r1.1.2.600.2.298
*** desire.tk 6 Aug 2007 22:42:48 -0000 1.1.2.600.2.297
--- desire.tk 7 Aug 2007 01:17:35 -0000 1.1.2.600.2.298
***************
*** 290,300 ****
#-----------------------------------------------------------------------------------#
! # object class just to make a variable watchable...?
! # should also have a look at "man 3tcl trace" too.
! class_new Variable {Observable Thing}
! def Variable init {{value ""}} {super; $self value= $value}
! def Variable value= {value} {set @value $value; $self changed}
! def Variable value {} {return $@value}
#-----------------------------------------------------------------------------------#
--- 290,313 ----
#-----------------------------------------------------------------------------------#
! # This is not a real Hash, just the same interface as a Ruby/Python/Perl Hash... or quite like Tcl arrays themselves
! class_new Hash {Thing}
! def Hash init {args} {foreach {k v} $args {$self set $k $v}}
! def Hash set {k v} {set ::hash($self:$k) $v}
! def Hash get {k} {set ::hash($self:$k)}
! def Hash size {} {llength [$self keys]}
! def Hash unset {k} {unset ::hash($self:$k)}
! def Hash list {} {set r {}; foreach k [$self keys] {lappend r $k [$self get $k]}; return $r}
! def Hash keys {} {
! set r {}
! set n [string length $self:]
! foreach k [array names ::hash $self:*] {lappend r [string range $k $n end]}
! return $r
! }
!
! # set h [Hash new foo bar 1 2 3 4]
! # $h set hello world
! # puts keys=[$h keys]
! # puts list=[$h list]
#-----------------------------------------------------------------------------------#
More information about the Pd-cvs
mailing list