Posted to tcl by mjanssen at Sat Oct 31 00:10:12 GMT 2009view raw
- proc vector {vector {method {}} args} {
- if {$method eq {} } {
- return $vector
- }
- switch $method {
- inner {
- set res 0
- set other [lindex $args 0]
- foreach e1 $vector e2 [$other] {
- set res [expr {$res+$e1*$e2}]
- }
- return $res
- }
- @ {
- return [lindex $vector [lindex $args 0]]
- }
- }
- }
- set a {vector {1 2 3}}
- set b {vector {1 2 3}}
- puts [$a inner $b]