Problèmes de retourner à la table de hachage

Donc, si j'ai le code suivant:

function DoSomething {
  $site = "Something"
  $app = "else"
  $app
  return @{"site" = $($site); "app" = $($app)}
}

$siteInfo = DoSomething
$siteInfo["site"]

Pourquoi ne pas $siteInfo["site"] retour "quelque Chose"?

Je peux état....

$siteInfo

Et il sera de retour

else

Key: site
Value: Something
Name: site

Key: app
Value: else
Name: app

Ce qui me manque?

  • $siteInfo["site"] ne retour Something pour moi.
  • pour moi aussi, powershell version?
  • Ok, j'ai quelques infos. J'ai ajouté un simple appel sur une variable ($app) ci-dessus dans mon code de fonction. Ce qui était survenant était que la valeur de $app et de la table de hachage a été renvoyé à la variable qui a appelé la fonction. Donc, si j'ai fait une ($siteInfo | fl), ce serait montrer à la fois "autre chose" et puis les deux clés/valeurs. Pourquoi est-ce?
  • Il semble que, depuis que vous avez $app tout seul sur une ligne que vous souhaitez imprimer quelque chose à l'écran dans la fonction elle-même, mais pas de retour à l'appelant. Vous pouvez faire cela en utilisant la Out-Host ou Write-Host applets de commande qui permet d'afficher l'objet, mais de ne pas s'engager pour le pipeline. Par exemple: Write-Host $app ou $app | Out-Host.
InformationsquelleAutor pghtech | 2011-12-29