-- accepts either 3 integers or a single property list on foo (arg1, arg2, arg3) if ilk(arg1)=#propList then args = arg1 arg1 = args[#arg1] arg2 = args[#arg2] arg3 = args[#arg3] end if put "arg1="&arg1 put "arg2="&arg2 put "arg3="&arg3 end foo(1,2) -- 3rd argument omitted -- "arg1=1" -- "arg2=2" -- "arg3=" foo([#arg3:3]) -- only 3rd argument specified -- "arg1=" -- "arg2=" -- "arg3=3"