I am sure I read somewhere that there is an easy way to pass named parameters from a calling function to a called function without explicitly naming and specifying each parameter.

This is more than just reusing the position; I'm interested in the case where the name of the passed parameters is the same in some cases, but not in others.

I also think there is a way that is not dependent on position.

function called-func {
    param([string]$foo, [string]$baz, [string]$bar)
    write-debug $baz
    write-host $foo,$bar
}

function calling-func {
    param([int]$rep = 1, [string]$foo, [string]$bar)
    1..$rep | %{
        called-func -foo $foo -bar $bar -baz $rep ## <---- Should this be simpler?
    }
}

calling-func -rep 10 -foo "Hello" -bar "World"

What would the method be, and is there a link?

I thought it might have been Jeffrey Snover, but I'm not sure.

Edit
Report