TCL语言笔记:TCL练习
一、关于随机数的练习
1.随机生成一个最大值到最小值之间的整数
- proc random {min max} {
- return [expr round(($max-$min)*rand()+$min)]
- }
2.生成num个min到max之间的不重复的随机整数
proc randomUnique {min max num} {
array set arr {}
#如果要求生成的数量超过max和min相减的个数+1
if {$num>[expr $max-$min+1]} {
return ""
}
#当生成的随机数量没有达到要求的数量,调用生成随机整数的函数
while {[array size arr]<$num} {
set x [random $min $max]
set arr($x) ""
}
return [array names arr]
}
3.随机的小写字母
- proc randLow {} {
- return [format %c [random ]]
- }
4.随机的大写字母
- proc randHigh {} {
- return [format %c [random ]]
- }
5.随机生成一个列表中的内容
- proc randList {lst} {
- set id [random [expr [llength $lst]-]]
- return [lindex $lst $id]
- }
6.生成一个随机的小写或者大写字母
- proc randLH {} {
- return [rand[randList {Low High}]]
- }
7.生成一个随机的大写、小写字母或数字
- proc randLHN {} {
- return [rand[randList {Low High Num}]]
- }
8.生成一个由小写、大写、数字构成的字符串,长度为在minLen和maxLen之间的随机值
- proc randStrLHN {minLen maxLen} {
- set len [random $minLen $maxLen]
- set str ""
- for {set i } {$i<$len} {incr i} {
- append str [randLHN]
- }
- return $str
- }
TCL语言笔记:TCL练习的更多相关文章
- TCL语言笔记:TCL基础语法
一.什么是TCL Tcl 全称是 Tool command Language.它是一个基于字符串的命令语言,基础结构和语法非常简单,易于学习和掌握. Tcl 语言是一个解释性语言,所谓解释性是指不象其 ...
- TCL语言笔记:TCL中的数组
一.介绍 Tcl 中的数组和其他高级语言的数组有些不同:Tcl 数组元素的索引,或称键值,可以是任意的字符串,而且其本身没有所谓多维数组的概念.数组的存取速度要比列表有优势,数组在内部使用散列表来存储 ...
- TCL语言笔记:TCL中的控制结构命令
一.引言 控制结构允许程序根据不同的状态.条件和参数来选择不同的处理和执行路径,从而使代码具有更强的灵活性.健壮性和可读性. Tcl 提供了 if.if/else.if/elseif.foreach. ...
- TCL语言笔记:TCL中的数学函数
一.TCL数学函数列表 函数名 说明 举例 abs(arg) 取绝对值 set a –10 ; #a=-10 set a [expr abs($a)]; # a=10 acos(arg) 反余弦 s ...
- TCL语言笔记:TCL中的列表操作
一.介绍 列表则是具有特殊解释的字符串.Tcl 中的列表操作和其它 Tcl 命令一样具有相同的结构.列表可应用在诸如 foreach 这样的以列表为变元的循环命令中,也应于构建 eval 命令的延迟命 ...
- TCL语言笔记:TCL中的String命令
一.介绍 字符串是 Tcl 中的基本数据类型,所以有大量的字符串操作命令.一个比较重要的问题就是模式匹配,通过模式匹配将字符串与指定的模式(格式)相匹配来进行字符串的比较.搜索等操作. 二.strin ...
- Tcl语言笔记之二
1,表达式 1.1 操作数 TCL表达式的操作数通常是整数或实数.整数一般是十进制的, 但如果整数的第一个字符是0(zero),那么TCL将把这个整数看作八进制的,如果前两个字符是0x则这个整数被看作 ...
- Tcl语言笔记之一
1,一个TCL脚本可以包含一个或多个命令.命令之间必须用换行符或分号隔开 2,置换 substitution %set y x+100 // ...
- TCL语言笔记:TCL练习二
一.练习 1.二进制转十进制 proc b2d {b} { ;set len [string length $b] } {$i<$len} {incr i} { incr sum [expr , ...
随机推荐
- windows bat脚本实现ftp自动下载 删除
现在有一个需求就是把远程某个文件下面的图片,下载到本地,并且删除下载成功的的文件,而且远程目录下的那个图片会随时增加.假设一下如果所有的脚本都写好了,那么就需要调用windows上的计划任务定时执行脚 ...
- 使用mysql关键字做类字段名报的错,花了我一个钟,坑啊
com.modelsystem.po.ProjectPlan@701faaedHibernate: insert into ld.project_plan (addTime, describe, ex ...
- IIS6下, web.config配置为targetFramework="4.0"时出404错误
打开IIS管理器,在"Web 服务扩展" 中 将ASP.NET v4.0设置为允许就好了.这个选项默认是禁止的.
- XML和HTML常用转义字符
XML和HTML中都有一些特殊的字符,这些字符在XML和HTML中是不能直接使用的,如果必须使用这些字符,应该使用其对应的转义字符. XML常用转义字符: 字符 转义字符 描述 & & ...
- vs2012用wpf制作透明窗口中报错的解决方案
在开发wpf项目时,需要调用外部com组件,同时需要制作透明窗口,于是问题出现了,当我们在设置 AllowsTransparency="True"后,com组件显示不出来了,只有透 ...
- Tmall Programmer Triples Smartisan Sales
页面程序造假,丢脸丢到华尔街日报去咯 http://blogs.wsj.com/chinarealtime/2014/10/13/tmall-programmer-triples-smartisan- ...
- Redis 代理服务Twemproxy
1.twemproxy explore 当我们有大量 Redis 或 Memcached 的时候,通常只能通过客户端的一些数据分配算法(比如一致性哈希),来实现集群存储的特性.虽然Redis 2.6版 ...
- 从零开始学ios开发(九):Swapping Views
这篇的内容是切换Views,也是上一篇中提到的第三种当iphone发生旋转后改变布局的方式,先回顾一下上一篇中提到的三种方式 1.使用Autosizing 2.写code 3.重新弄个View,替换原 ...
- ios6 处理内存警告
iPhone下每个app可用的内存是被限制的,如果一个app使用的内存超过20M,则系统会向该app发送Memory Warning消息.收到此消息后,app必须正确处理,否则可能出错或者出现内存泄露 ...
- Ubuntu下的网络配置(USTC)
1. 配置静态ip ubuntu的网络配置信息放在 /etc/network/interfaces 中 sudo gedit /etc/network/interfacesauto lo 下 ...