2010年3月29日月曜日

tcl 文字列を指定した長さでリストで返す

proc splitRange args {
    set userString [lindex $args 0]
    set range      [lindex $args 1]
    set bufferList {}
   
    if {[llength $args] != 2} {
        puts "wrong # args: should be \"splitRange string range\""; return
    }
    if {$range <= 0} {
        puts "wrong # arg : range should be over 0"
        return}
   
    for {set idx 0} {$idx < [string length $userString]} {set idx [expr $idx + $range]} {
        set lastIdx [expr $idx + $range -1]
        lappend bufferList [string range $userString $idx $lastIdx]
    }
    return $bufferList
}

0 件のコメント:

コメントを投稿