ns2中的脚本语言Tcl的基础知识<1>
2013-09-24 18:05
417 查看
最后有输出的截图 大家自己看吧 提醒大家的是在写tcl脚本代码的时候 一定要注意空格啊
#输出Hello Worldputs stdout "Hello World!"
#输出xiaopeng
puts "xiaopeng"
#输出3
set a 3 ;# a <- 3
puts $a
set var1 5; set var2 10
unset var1 var2
set a 100; puts $a.00
set a 3; set b 5
puts "$a + $b = [ set a [expr $a + $b ] ]"
set x -1
if { $x >= 0 } {
puts "abs(x) = $x"
} else {
puts "abs(x) = [expr -$x]"
}
set day 3
if { $day == 1 } {
puts "Monday"
} elseif { $day == 2 } {
puts "Tuesday"
} elseif { $day == 3 } {
puts "Wednesday"
} else {
puts "Other days"
}
set day 1
switch -exact -- $day {
1 { puts "Monday" }
2 { puts "Tuesday" }
default { puts "Other days" }
}
set var 2
switch -glob -- $var \
-* {puts "var is a less than 0"} \
default { puts "b is not a negative" }
set var ad
switch -glob -- $var \
-* {puts "var is a less than 0"} \
default { puts "b is not a negative" }
set i 0; while { $i< 5 } { incr i }
puts "i=$i"
set n 10; set result 1
while { $n > 1 } {
set result [ expr $result * $n ]
set n [ expr $n -1 ]
}
puts "result=$result"
puts "n=$n"
set i 0
foreach value { 1 3 5 7 9 11 } {
set i [expr $i + $value]
}
puts "i=$i"
foreach var [ list $a $b xxx ] {
puts "var = $var"
}
set k 0
for { set i 1 } { $i < 11 } { incr i } {
set k [ expr $k + $i ]
}
puts $k
proc p1 { a b {c 1} } {
set x [ expr ($a + $b) * $c ]; puts "x = $x"
return x
}
p1 1 2
proc variousParams { a { b foo } args } {
foreach param { a b args } {
puts "$param = [ set $param ]"
}
}
variousParams 33 44 32 11
set result 1
proc p { n } {
global result
set result $n
}
puts [p 2]
proc factorial { n } {
puts stderr "n=$n"
if {$n <= 1} {
return 1
}
return [expr $n * [factorial [set n [expr $n -1 ]] ] ]
}
puts [factorial 4]
set q [factorial 5]
puts "q=$q"
for { set i 0 } { $i < 5 } { incr i } {
set arr($i) [ expr $i * $i * $i ]
}
puts $arr(3)
#必须说说最后这个程序 写Tcl脚本代码的时候 必须有空格啊 一定要注意 没有空格根本调试不出来 这个程序我调了有半个多小时 就是因为空格的问题
set a 10
set b 0
proc p { a } {
set b 3
if {$a >= 0 } {
puts $b
} else {
puts [expr 0-$b]
}
}
p -2
p $b
结果运行如下:
相关文章推荐
- ns2脚本语言Tcl的扩展语言Otcl简单介绍<2>
- C语言基础知识<6>
- C++ 学习笔记 <1> C++ 语法基础知识
- Java基础知识<1>
- ||C||<基础>C语言基础知识框架结构//个人整理使用|仅供参考|
- NS2 Tcl语言基础知识加深强化
- C语言为什么要加#include<stdio.h>(C语言基础结构知识)
- <1>查找基础知识(无代码)
- JavaScript中函数函数的定义与变量的声明<基础知识一>
- PS入门基础<1>
- <黑客免杀攻防>第二章免杀基础知识 笔记
- TCL脚本语言基础介绍
- ios基础知识<iOS通知机制>
- 面试基础题:C语言中<>和“”的区别详解
- Java基础知识<2>
- Effective C++ 学习笔记<1> 视C++为一个语言联邦
- Java基础知识强化之集合框架笔记54:Map集合之HashMap集合(HashMap<String,String>)的案例
- Android Activity学习 <一> Activity基础知识和生命周期
- <<Python基础教程>>学习笔记 | 第01章 | 基础知识
- Oracle基础<1>--数据库设计