日常使用的小函数,做一下保存记录。
#*****************************************
# 说明:实现计算积分功能
# sort_list 需要计算积分的列表值
# max_value 列表最大值
# min_value 列表最小值
# sort_source 计算的积分值,返回值
#*****************************************
proc integraph {sort_list max_value min_value} {
foreach sort_value $sort_list {
if {$sort_value == $max_value} {
set sort_source 20
} elseif {$sort_value == $min_value} {
set sort_source 0
} else {
set sort_source [format "%0.2f" [expr 20*[expr $sort_value - $min_value]*1.0000 / [expr $max_value - $min_value]]]
}
}
return $sort_source
}
#*****************************************
# 说明:排序功能
# sort_id 需要排序的值
# sort_list 排序数组
# sort_type 排序类型
# 0:降序
# 1:升序
#*****************************************
proc sort {sort_list sort_type} {
set i 1
if {$sort_type == 0} {
set sort_type decreasing
} else {
set sort_type increasing
}
set sort_list2 [lsort -real -$sort_type $sort_list]
foreach sort_value $sort_list2 {
if {$sort_id != $sort_value} {
incr i
} else {
break
}
}
return $i
}
阅读(1628) | 评论(2) | 转发(0) |