Ns2 Tcl語法總結

2021-06-16 14:22:19 字數 1938 閱讀 1732

ns學習語法知識點;

1,變數代替 set  a  100;在使用變數之前,不需要事先宣告,因為直譯器會在首次使用變數的時候建立它,使用變數時要在變數前加$符號。

2,命令替代 set len [expr $s *2] //替換時先執行方括號中的命令,然後使用命令的執行結果作為替換,實際上也就是命令巢狀.

3,反斜槓替代

在一些特殊的字元前加」\」來表示這個字元本身.比如說」\$」,」\[」,」\]」就是用來表示這些符號本身.

4,組合,tcl通過空白字元來分段表示不同的字串,而使用花括號或雙引號來表示把多個字串組合在一起來形成乙個字串.區別是雙引號內可以允許進行替代,而花括號內不會進行替代.

5,替代與組合的順序,tcl在解釋命令引數之前,會從左到右遍歷引數,確定是否要進行組合或者替代.而組合的決定是在替代之前做出的,乙個組合中巢狀多個命令,這些命令的執行順序也是從左到右依次進行的.

三,四章與一般的物件導向語言的內容相似.

1 otcl是tcl語言的物件導向(object oriented)的擴充套件,雖然otcl和c++等物件導向語言的概念相同,但是具體實現和語法卻存在很大的差別。

2為了進一步增強程式設計的靈活性,提高程式的效率,我們需要把otcl和c++結合起來。為了能充分發揮otcl和c++這兩種物件導向語言的強大能力,我們需要一種機制,使得在c++中能直接呼叫otcl直譯器的功能,otcl和c++能夠互相直接操作對方定義的資料,並且c++中的類可以和otcl中的類對應起來。這種機制就是tclcl.

3 tclcl主要是通過tclobject和tclclass兩個c++類來實現的。

類tclobject是所有編譯類的基類,對應的splitobject是所有解釋類的基類。每個編譯物件都是當使用者從直譯器中建立解釋物件的同時在c++類結構中產生出的影像物件。而類tclclass則包含了執行這種映象的機制。

4,變數的繫結,變數的繫結通常是當該物件初始化時在編譯物件的建構函式中建立的,在對應的解釋物件中可以作為乙個例項變數來訪問的。

然後就是第五章的ns基礎需要好好學習一下.

ns中的構件庫一般都是由相互關聯的兩個類來實現的,乙個在c++中,乙個在otcl中。這種方式稱為**物件模型。構件的主要功能通常在c++中實現,otcl中的類則主要提供c++物件面向使用者的介面。

tclclass是個純虛類。從這個基類繼承出來的類提供兩個功能:構造和編譯類結構互為映象的解釋類結構以及提供初始化新的tclobject的方法。每個從tclclass繼承出來的類都和編譯類結構中的乙個tclobject的子類相關聯,並能初始化所關聯的新的物件。每當直譯器建立乙個新的解釋類的時候,都會在tclclass的子類中尋找對應的關聯關係,然後呼叫該子類中對應的編譯類中的建構函式。(p47)

tclclass的建構函式除了完成這種登記工作之外,也起到了宣告otcl類的作用。

otcl也是一種物件導向的程式語言,其編譯器是由c++編寫的,它也具有自己獨有的一些語法命令。有它自己與c++完全不同的類定義方式,它也可以按照自己特有的語法命令格式來寫一些變數定義以及函式定義。(p40)

null這個agent,它通常和udp配合使用,作為資料的接收者。

類tcl封閉了otcl直譯器的例項,並提供了訪問直譯器的方法。當ns一開始執行的時候,tcl類即被例項化了。p52,這裡面也是在c++類中呼叫tcl方法的途徑。

tcl用換行或者;表示命令結束。

tcl中的關鍵字是由proc命令來定義的。在otcl中,定義成員函式是以類名加上instproc來定義的。

構件的主要功能通常是在c++程式中實現的,otcl中的類則主要是提供c++物件導向使用者的配置介面。

我們把**物件模型中otcl類稱為解釋類,把對應的c++類稱為編譯類,並稱它們互為」影像類」。同樣地,稱otcl物件為解釋物件,稱c++物件為編譯物件,並稱這兩個物件互為」影像物件」

ns維護了乙個雜湊表,為c++類結構中的每個tclobject都儲存了乙個引用,從而可以快速地找到這些物件。

p107 移動節點的組成是我所要關注的重點內容。

ns2相關學習 tcl指令碼編寫(1)

新建乙個 例項 set ns new simulator 為了讓nam檔案和trace檔案有地方可以依託,我們要開啟.nam檔案進行寫入,並且使用控制代碼nf set nf open out.nam w ns namtrace all nf 設定拓撲圖 1 設定節點的指令碼語言 建了兩個節點,叫n0...

java基礎學習總結 基礎語法2

1.1.2 分支語句 switch語句 學會畫記憶體分析圖分析別人寫的程式,這樣就很容易分析出規律,分析出規律也就明白了別人的演算法,也就很容易讀懂別人的程式。分析到i等於3以後,基本上已經得到規律了,這個程式要計算的就是 result 1 2 3 10 由此可以看出,懂得畫記憶體去分析程式對讀懂別...

2 Java基礎語法總結,下

1.方法過載概述 在同乙個類中,允許存在乙個以上的同名方法,只要 它們的引數個數或者引數型別不同即可。方法過載特點 與返回值型別無關,只看方法名和引數列表 在呼叫時,虛擬機器通過引數列表的不同來區分同名方法 2.陣列概念 陣列是儲存同一種資料型別多個元素的集合。也可以看成是乙個容器。陣列既可以儲存基...