parameters - Powershell - unable to print value of hash -


i writing simple script more familiar powershell.

this script reads input parameters hash

$states = @($args)  $states  write-host color $states.color 

on command-line, set following values

$shape = 'circle'; $color = 'pink'; $size = 'large' 

i invoke program following command

.\shapes_n_colors.ps1  $shape $size $color 

and, following output:

circle large pink color 

i unable figure out why $states.color blank. expecting output "color pink"

i following artical, http://technet.microsoft.com/en-us/library/hh847780.aspx

where going wrong???

not sure start...

first of - don't create hash @ point... @($args) doesn't anything: $args array, , @() useful make sure expression produce array... hash literal @{}.

next: script have no clue names you've used variables passed it. see 3 strings. suggest using param() named parameters (that default positional, calling script wouldn't change much):

param (     $shape,     $size,     $color )  write-host color $color 

when try syntax, produce expected results. wait, there's more. ;) run script without need remember param order:

.\shapes_n_colors.ps1 -color white -shape circle -size small 

not mention complete named parameters you.


Comments

Popular posts from this blog

plot - Remove Objects from Legend When You Have Also Used Fit, Matlab -

java - Why does my date parsing return a weird date? -

Need help in packaging app using TideSDK on Windows -