Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Support splatting `-ArgumentList` with hashtable too

Ouverte
#37 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
42/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
powershell
Domaine
backend

Piste de recherche

Start at the Start-ThreadJob argument handling and compare how -ArgumentList processes arrays with the hashtable example in this issue. The request is to pass named parameters through to the job script block; check the project’s existing tests for -ArgumentList and add coverage for the shown hashtable case. Done when the job receives SomeParameter as the string Hello 1, Hello 2, and Hello 3.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Summary of the new feature / enhancement

Start-ThreadJob (and Start-Job for reference) currently only supports splatting -ArgumentList with array:

This means some example code must be like this:

$JobsUsingArray  = [array](
    1 .. 3 | ForEach-Object -Process {
        Start-ThreadJob -ScriptBlock {
            [OutputType([System.String])]
            Param(
                [Parameter(Mandatory,Position=0)][string]$SomeParameter
            )
            Write-Output -InputObject $SomeParameter
        } -ArgumentList ('Hello {0}' -f $_)
    }
)
Receive-Job -Job $JobsUsingArray -Wait

which returns:

Hello 1
Hello 2
Hello 3

I much prefer to splat using name of the input parameters, so splatting with hashtable. I'd like this to work too:

$JobsUsingHashtable = [array](
    1 .. 3 | ForEach-Object -Process {
        Start-ThreadJob -ScriptBlock {
            [OutputType([System.String])]
            Param(
                [Parameter(Mandatory)][string]$SomeParameter
            )
            Write-Output -InputObject $SomeParameter
        } -ArgumentList @{
            'SomeParameter' = [string] 'Hello {0}' -f $_
        }
    }
)
Receive-Job -Job $JobsUsingHashtable -Wait

which returns

System.Collections.Hashtable
System.Collections.Hashtable
System.Collections.Hashtable
Proposed technical implementation details (optional)

No response

Langage dominant
PowerShell
Étoiles
37
Forks
22
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de PowerShell/ThreadJob

Toutes les issues de PowerShell/ThreadJob

Issues similaires

Plus d'issues Backend & API Design

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.