ns2中的脚本语言Tcl的基础知识<1>

最后有输出的截图 大家自己看吧 提醒大家的是在写tcl脚本代码的时候 一定要注意空格啊

#输出Hello World

puts 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

结果运行如下:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值