Let's look at an innocuous piece of ruby. Consider some view code showing a user's name and phone number:
"#{first_name} #{last_name} #{phone}"
Great - this is very succinct, readable, and can easily be extracted to a method in a
# Script to configure web application servers | |
### Supporting functions ############################################################### | |
function Install-Features($RolesToInstall) { | |
$args = @("/Online") | |
$args += "/Enable-Feature" | |
foreach ($role in $RolesToInstall) { | |
$args += "/FeatureName:$role" | |
} | |
& $env:windir\system32\dism $args |
#http://kbyanc.blogspot.com/2007/07/python-aggregating-function-arguments.html | |
def arguments(): | |
"""Returns tuple containing dictionary of calling function's | |
named arguments and a list of calling function's unnamed | |
positional arguments. | |
""" | |
from inspect import getargvalues, stack | |
posname, kwname, args = getargvalues(stack()[1][0])[-3:] | |
posargs = args.pop(posname, []) |