====== Variable Argument Functions ====== To declare a function taking a variable number of arguments, use the following: HOW DUZ I YR [ AN YR ...] AN ALL YR closed with a OIC The identifier may be used in the function to access the arguments. The identifier refers to a bukkit. The arguments to the function are placed in slots on the bukkit. The slot identifier is the index of the argument (index starting at 0). The ALL YR identifier can only be the last parameter in a function definition. ===== Examples ===== BTW This function adds all variables passed in. HOW DUZ I ated ALL YR BASE I HAS A zigs ITZ 0 I HAS A greatjustice ITZ 0 BTW Loop over all variables and add them IM IN YR Bases UPPIN YR zigs WILE BASE!!!zigs greatjustice R SUM OF greatjustice AN BASE!!!zigs IM OUTTA YR Bases FOUND YR greatjustice OIC Calling: I HAS A hamburger ITZ 7 I HAS A cheezburger ITZ 5 I HAS A fry ITZ 3 ated hamburger cheezburger fry BTW 15 ====== Variable Argument Calling ====== The companion to vararg functions is vararg calling: SUM OF ALL BASE (Note: this assumes that SUM is infinite-arity rather than binary, but then again it probably should be...)