ns仿真学习(五)-Tcl中类的静态变量与成员变量

Otcl中类以instvar声明一个变量,定义类Test,Test instvar声明的是一种类似于全局静态变量,而$self instvar 则表明是类成员变量。具体的示例如下:

simple_test.tcl

Class Test
# similar satic variable in c++
Test set static_list_ {1 2 3 4 5 6}
# "there must be a space before {,or error occurs"
Test  instproc print {} {
	$self instvar list_
	foreach var $list_ {
	puts "$var"
	}
	Test instvar static_list_
	foreach var [set static_list_] { 
	puts "$var"
	}
	set var 11
#wrong ,not the static_list,just the string 
	puts "list length [llength static_list_]" 
	puts "list length [llength $static_list_]"
	lappend static_list_ $var
}
Test proc get_list {} {
	Test instvar static_list_
	return $static_list_
}
Test instproc add_list { a } {
	$self instvar list_
	lappend list_ $a
}
Test instproc init args  {
$self instvar list_	
	set list_ {1 2 3 4}
}
proc get_list_pose {l memeber} {


}
proc fuck {} {
	Test test
	set var 10
	test add_list $var
	test print 	
}
set list1 {1 2 3 4 5}
puts "The contents of list1 are: $list1"
fuck

set list_ [Test get_list]
puts "get list"
foreach var $list_ {
 puts "$var"
}
里面涉及了一些列表的操作,以及类函数的调用,以及全局变量的获取函数get_list

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值