expr integer modulus operator
If "a == b % c", then "a == b - (b / c) * c"
Alternatively: (x / y) * y == x - (x % y)
jima A question that perhaps should be placed elsewhere:
Recently reading [Aspect Support Class for TclOO I found the following bit of code
===== method DefineAspect args {
set opts [dict merge { -name {} -condition 1 -before {} -after {} -variable ASPECT__result -trap {} } $args] if {[dict get $opts -trap] eq ""} { set script { if {[lindex [self target] 0] eq "::oo::object"} { return [next {*}$args] } if {%1$s} { %2$s set %4$s [next {*}$args] %3$s return [set %4$s] } else { return [next {*}$args] } }
... =====
Where I assume %1$s , %2$s et cetera are "script parts" of an invocation like:
==== aspect -before {
my variable ValueCache set key [self target],$args if {[info exist ValueCache($key)]} { return $ValueCache($key) }
} -variable result -after {
set ValueCache($key) $result
} ====
The thing I don't get is where is the magic of %1$s and terms alike defined.
Is this something that follows standard rules of tcl?
Or is it just something parsed inside the TclOO package?