Skip to content

Instantly share code, notes, and snippets.

@draegtun
Created November 2, 2011 16:16
Show Gist options
  • Save draegtun/1334070 to your computer and use it in GitHub Desktop.
Save draegtun/1334070 to your computer and use it in GitHub Desktop.
block() with unknown arity
arity := block (
"You provided #{call argCount} args" interpolate println
call evalArgs foreach (arg, "... #{arg}" interpolate println)
)
// "call evalArgs" is a shortcut for "call message argsEvaluatedIn(call sender)"
var := "test"
arity call( "1", 2 + 2, var );
arity call
# You provided 3 args
# ... 1
# ... 4
# ... test
# You provided 0 args
arityUnEval := block (
"You provided #{call argCount} args" interpolate println
call message arguments foreach (arg, "... #{arg}" interpolate println)
)
arityUnEval call( "1", 2 + 2, var );
# You provided 3 args
# ... "1"
# ... 2 +(2)
# ... var
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment