Version 97 of Rohan Pall

Updated 2003-07-17 04:08:04

mailto:[email protected]

Call me Ro, all my friends do.

Question: Do I have an extraneous eval?

  proc a> {a args} {eval [list interp alias {} $a {}] $args}
  a> p puts ; a> s set
  a> sr list ::S ; a> ss s [sr] ; ss {1 2 3}
  a> . eval {lindex [ss] 0}
  a> drop eval {ss [lreplace [ss] 0 0]}
  a> ex eval {eval [.] ; drop}

  a> ? s errorInfo

GPS: Ro, that's very clever usage of interp alias. :)

DKF: There are no extra eval uses in there.

Wiki Ideas

  • Hash as a proc?

Bonus Material

  % proc |ex {s x} {foreach a [split $x |] {eval $s $a}}
  % |ex puts {frozen | bobble | nibble}
  frozen
  bobble
  nibble
  % proc napa {a b args} {puts "$a - $b - $args"}
  % napa ergo eroig 43 ei4
  ergo - eroig - 43 ei4
  % |ex {napa string length} {frozen | bobble | nibble}
  string - length - frozen
  string - length - bobble
  string - length - nibble
  % |ex {napa string length [incr ::n]} {a|b|c}
  string - length - 3 a
  string - length - 4 b
  string - length - 5 c
  % |ex {a> c[incr ::n] puts} {a|b|c}
  % c6
  a
  % c7
  b
  % c8
  c

Category Home Page | Category Person