目錄
建立命名空間
巢狀的命名空間
匯入和匯出空間
忘記命名空間
命名空間是乙個容器組識別符號,用於組變數和程式。命名空間可從tcl 8.0版開始使用。引入命名空間之前,有乙個全域性範圍。現在有了命名空間,我們可以分割槽全域性範圍。
使用命名空間命令建立命名空間。乙個簡單的例子,建立命名空間如下圖所示
#!/usr/bin/tclsh當執行上面的**,產生以下結果:namespace eval mymath
# create procedures inside the namespace
proc mymath::add
mymath::add 10 23
puts $::mymath::myresult
33在上面的程式,可以看到有乙個變數myresult和程式add的乙個命名空間。這使得建立變數和程式可根據相同的名稱在不同的命名空間。
tcl允許命名空間的巢狀。乙個簡單的例子,巢狀的命名空間如下。
#!/usr/bin/tclsh當執行上面的**,產生以下結果:namespace eval mymath
namespace eval extendedmath
}set ::mymath::myresult "test1"
puts $::mymath::myresult
set ::extendedmath::mymath::myresult "test2"
puts $::extendedmath::mymath::myresult
test1可以在前面的例子命名空間看到,我們使用了大量的作用範圍解決運算子,它們的使用變得更複雜。我們可以通過匯入和匯出命名空間避免這種情況。下面給出乙個例子。test2
#!/usr/bin/tclsh當執行上面的**,產生以下結果:namespace eval mymath
# create procedures inside the namespace
proc mymath::add
namespace import mymath::*
puts [add 10 30]
40可以通過使用forget子刪除匯入的命名空間。乙個簡單的例子如下所示。
#!/usr/bin/tclsh當執行上面的**,產生以下結果:namespace eval mymath
# create procedures inside the namespace
proc mymath::add
namespace import mymath::*
puts [add 10 30]
namespace forget mymath::*
40
tcl指令碼學習十一 proc應用 (帶預設引數)
lesson 11 proc應用 帶預設引數 1.使用過程的時候,不一定輸入所有的引數值。過程的輸入引數可以有預設值。預設值由 指定。如果呼叫過程時沒有指定這些引數的值則會使用其預設值,否則使用輸入值來替代預設值。在使用預設引數的時候要注意,如果預設引數之後還有 非預設引數,則在呼叫此過程的時候,預...
C 初識命名空間
c 命名空間 命名空間 是為了防止名字衝突而把一系列的型別 變數 函式放在一起的一種方式,在作用域範圍內使用命名空間就可以訪問該命名空間內定義的符號。它可以解決c語言命名衝突的問題,c 命名空間即可以定義函式,也可以定義變數。定義命名空間 關鍵字是 namespace 後面加命名空間的名稱。例如 n...
03 初識類與命名空間
類庫的引用 專案引用即白盒引用 依賴關係 排除錯誤 using system using system.collections.generic using system.linq using system.text using system.threading.tasks 命名空間helloworl...