[NS2]TCL语言基本语法
(來自:《NS2仿真實驗-多媒體和無線網絡通信》)
1.變量(Variable)和變量替換(VariableSubstitution)
tcl變量是在第一次使用set的指令來指派變量的值時所產生的。可以使用unset來取消這個變量。當取用或者改變變量值時,只要在變量名稱前加上一個“$”,就可以取用或改變變量內的值。指令eval用于執行一個tclscript。
2.表達式
tcl中表達式通常使用“expr”指令去判斷表達式的真假或去求表達式的值。
1 set value [expr 1>=2]
3.指令替換
使用[]來完成指令的替換,即把“原tclscript執行結果”取代“原tclscript”。
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” }
switchexpression{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}{changevariable}{body}
1 for {set i 1} {$i < 5} {incr i 1} {
2 puts “$i”
3 }
foreachvariable{variables}{body}
1 foreach i {a e i o u} {
2 puts “$i is vowel”
3 }
5.程序
定義程序的基本語法為procnameparamsbody,即procname{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.數組
使用setarray_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) “28”
3
4 # foreach thing {name age} {
5 foreach thing [array names person_info] {
6 puts “$thing == $person_info($thing)”
7 }
這里需要注意,在數組名稱與“(”之間不能有空格。
總結
以上是生活随笔為你收集整理的[NS2]TCL语言基本语法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你对星巴克咖啡的价目表和种类了解多少
- 下一篇: SqlServer 创建数据库两种方式