1. 程式人生 > >網路模擬NS2之——TCL語言介紹與實踐

網路模擬NS2之——TCL語言介紹與實踐

摘要

NS2網路模擬軟體主要用到了TCL語言,TCL語言是很容易上手的。本文希望把TCL語言的基本語法和應用講簡單了,使得讀者對NS2軟體的應用有進一步的認識和實踐。

1. 變數宣告

set name "Joe"
puts "my name is $name"


2. 判定表示式
set trueOrFalse [expr 0==1]
puts "1 is true, 0 is false: $trueOrFalse"

3. 運算表示式
puts "He is [expr 2*3], but his IQ is [expr 100+20]"

4. 流程控制

a) if-else

set value 3
if { $value == 1} {
    puts "3==1"
} elseif {$value == 2} {
    puts "3==2"
} else {
    puts "3==3"
}

b) switch
set value 3
switch $value {
    1 {
        puts "case 1"
    }
    2 {
        puts "case 2"
    }
    3 {
        puts "case 3"
    }
    default {
        puts "Nothing"
    }
}


c) for

for {set i 1} {$i <= 3} {incr i 1} {

        puts "i = $i"
}


d) while
set i 1
while {$i <= 3} {
    puts "i = $i"
    incr i 1
}

5. 方法(或使用者定義函式)

使用者自定義方法,即procedures, 基本的語法為 proc name params body。

proc sum {a b} {
    return [expr $a + $b]
}

set a 1
set b 2
set result [sum $a $b]
puts "The sum of a and b is $result"

6. 陣列

set arr(1) 1
set arr(2) 2
set arr(3) 3

for {set i 1} {$i <= 3} {incr i 1} {
        puts "arr($i) is $arr($i)"
}


7. 字串
set str "Hello, string"
puts "$str"

8. 輸出

set file [open "/home/linux/Desktop/myfile" "w"]
puts $file "Hello, these words are going to be written to a file"


9. 注意事項(TCL語言初學者程式碼的問題絕大多數是空格,括號不標準所造成的!!!)

TCL語言的語法格式很嚴格的,嚴格程度跟python類似!不能多空格,不能少空格。比如:花括號之間必定要有一個空格;一條命令佔用一行;elseif,或者else一定要和最後一個花括號在同一行,等等。讀者在除錯程式碼的時候一定要注意了。