p7proc (int)length { (TYPE*)a } { len $a } p7proc (TYPE*)concatenate { (TYPE*)a (TYPE*)b } { set (int)alen [len $a] set (int)blen [len $b] set (int)sum ($alen+$blen) new (TYPE*)z $sum set (int)i for {set i 0} ($i<$alen) {incr i} { set z($i) $a($i) } for {set i 0} ($i<$blen) {incr i} { set z($alen+$i) $b($i) } set z } p7proc (TYPE*)to_lowercase { (TYPE*)x } { for {set (int)i 0} ($i< [len $x] ) {incr i} { if ( 'A' <= $x($i) && $x($i) <= 'Z' ) { set x($i) ($x($i) - 'A' + 'a') } } set x } p7proc (TYPE*)to_uppercase { (TYPE*)x } { for {set (int)i 0} ($i< [len $x] ) {incr i} { if ( 'a' <= $x($i) && $x($i) <= 'z' ) { set x($i) ($x($i) - 'a' + 'A') } } set x }