[NS2]TCL语言基本语法

摘要:
使用或更改变量值时,可以通过在变量名称前添加“$”来使用或更改该变量中的值。1 setvalue[expr1˃=2]3.指令替换使用[]完成指令替换,即将“原始tclscript执行结果”替换为“原始tcls脚本”。1 procsum{ab}{2 return[expr$a+$b]3}4 5 setnum1156 setnum2167 setsum[sum$num1$num2];#调用方法8将带有参数的“Thesubmis$sum”放入函数中,使用外部变量,即全局变量,需要使用全局变量声明。

(来自:《NS2仿真实验-多媒体和无线网络通信》)

1. 变量(Variable)和变量替换(Variable Substitution

  tcl变量是在第一次使用set的指令来指派变量的值时所产生的。可以使用unset来取消这个变量。当取用或者改变变量值时,只要在变量名称前加上一个“$”,就可以取用或改变变量内的值。指令eval用于执行一个tcl script

2. 表达式

  tcl中表达式通常使用“expr”指令去判断表达式的真假或去求表达式的值。

1   set value [expr 1>=2]

 

3. 指令替换

  使用[]来完成指令的替换,即把“原tcl script执行结果”取代“原 tcl script”。

 

1   set age 23
2   puts “My age is $age”

 

4. 流程控制

控制指令包括,if-else, switch, while, for, foreach等。

if {condiftion} {body} elseif{condition} {body} else {body}

1   set value 23
2   if {$value < 20} {puts “$age is less than 20”}
3   elseif {$value == 20} {puts “$age is 20” }
4   else {puts “$age is more than 20” }

switch expression { case1{} case2 {} default{}}

1   set var 4
2   switch var{
3       2 {puts “$var is 2”}
4       4 {puts “$var is 4”}
5       default {puts “$var”}
6   }

while {condition} {}

1   set i 0
2   while {$i < 5} {
3       puts “$i”
4       incr i 1
5   }

for {initialization} {condition} {change variable} {body}

1   for {set i 1} {$i < 5} {incr i 1} {
2       puts “$i”
3   }

foreach variable {variables} {body}

1     foreach i {a e i o u} {
2         puts “$i is vowel”
3     }    

5. 程序

  定义程序的基本语法为 proc name params body,即proc name {paramets} {body}。其中,name是函数名称,params是参数列表,body是程序主体。

1   proc sum {a b} {
2       return [expr $a + $b]
3   }
4   
5   set num1 15
6   set num2 16
7   set sum [sum $num1 $num2] ;#有参数的调用方法
8   puts “The sum is $sum”

  在函数中使用外部变量,即全局变量,需要使用global来声明。

 

 1   set num 15
 2   
 3   proc fun {} {
 4       set tmp 14
 5       puts “The local variable is $tmp”
 6       global num
 7       puts “The global variable is $num”
 8   }
 9   
10   fun  ;#无参数情况下的函数的调用

 

6. 数组

  使用set array_name(index) value的格式来声明数组,并且index可以使用数字或字符串。

 

1   set num_array(0) “Zero”
2   set num_array(1) “One”
3   for {set i 0} {$i < 2} {incr i 1} {
4       put &num_array($i)    
5   }

 

1   set person_info(name) “John”
2   set person_info(age) “283   
4   # foreach thing {name age} {
5   foreach thing [array names person_info] {
6       puts “$thing == $person_info($thing)”
7   }

  这里需要注意,在数组名称与“(”之间不能有空格。

 

 

 

 

免责声明:文章转载自《[NS2]TCL语言基本语法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇在.net中读写config文件的各种方法关于AD10如何输出自己想要的BOM表下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[C#基础知识] ReadOnly关键字修饰的变量可以修改,只是不能重新分配

转自:http://www.cnblogs.com/sujiantao/archive/2011/12/19/2289357.html MSDN 官方的解释 readonly 关键字是可以在字段上使用的修饰符。当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中.   很多初学者看完书就会...

perl5 第二章 简单变量

第二章 简单变量  by flamephoenix 一、整型 二、浮点数 三、字符串 基本上,简单变量就是一个数据单元,这个单元可以是数字或字符串。一、整型 1、整型   PERL最常用的简单变量,由于其与其它语言基本相同,不再赘述。   例:   $x = 12345;   if (1217 + 116 == 1333) {   # statement...

Arduino—运算符

赋值运算符: =    +=   -+     *=      /= %=       取余等于 &=    与等于 &=(与等于)对某个变量的值按位进行与运算,例如:G&=x,将G变量的值与x变量的值做AND运算,其结果放入G变量,与G=G&x表达式相同。 |=     (或等于)对某个变量的值按位进行或运算,例如:HI...

Ubuntu 环境变量

环境变量配置文件 在Ubuntu中有如下几个文件可以设置环境变量 1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 2、/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。 3、~...

VB Pcode 动态调试要点

P-code伪编码,用od太麻烦,需用到WKTVBDebugger 方法1: 把cm放到wktv目录下面,打开,运行 机器码与命令: BranchF: 机器码1C 类似jnz/jne 如果堆栈为0就跳 BranchT: 机器码1D 类似je/jz 如果堆栈为-1就跳 Branch: 机器码1E 类似jmp 无条件跳 单击‘高级信息’或‘Analize Br...

PL/SQL developer(绿色版)安装及配置

转自:https://blog.csdn.net/qq_35525955/article/details/81067362PL/SQL developer(绿色版)安装及配置  1.PL/SQL Developer下载地址:百度网盘; 2.tsname.ora配置(在解压路径下instantclient_11_2 nsnames.ora): orcl =...