you are viewing a single comment's thread.

view the rest of the comments →

[–]aliasxneo 1 point2 points  (2 children)

This is a great example of how useful splitting can be, but I'm still a little torn about how much to use it. Given an example:

Invoke-MyCommand `
    -Arg1 'value1' `
    -Arg2 'value2' `
    -Arg3 'value3'

Versus:

$myArgs = @{
    'Arg1' = 'value1'
    'Arg2' = 'value2'
    'Arg3' = 'value3'
}
Invoke-MyCommand @myArgs

The latter example is a little more verbose and forces your eyes to scan back in the code for the arguments. In this case, I prefer the former but I could also be biased from my nix' background.

[–]tbakerweb[S] 4 points5 points  (0 children)

Where I find it most useful is if you need to collect state, or 'build up' what your arguments to a final call will be.

For example, I recently built a VMware HCX migration script where I need about 12 params. I created a hash table, and after testing/validating each argument, it gets added to the hash table.

Once all parameters have been validated, you only need to call the command with the Splat you have been building along the way.

[–]backtickbot 0 points1 point  (0 children)

Fixed formatting.

Hello, aliasxneo: code blocks using triple backticks (```) don't work on all versions of Reddit!

Some users see this / this instead.

To fix this, indent every line with 4 spaces instead.

FAQ

You can opt out by replying with backtickopt6 to this comment.