Question Argument Substring ne fonctionne pas dans fonction

Plus d'informations
il y a 3 ans 2 mois #30462 par Sébastien
Bonjour,

A l'utilisation de Substring dans une fonction, j'ai une erreur que je ne comprends vraiment pas.
J'ai simplifié le code pour mettre en évidence le problème (à la base je n'essaye pas de faire une fonction qui ne fait que ça :lol:) :
function Test($mot,$debut,$longueur){
    $s = $mot.Substring($debut,$longueur)
    return $s
}

$test = Test("tutu",0,2)

Write-Host $test

Et voilà ce que j'obtiens :
Échec lors de l’appel de la méthode, car [System.Int32] ne contient pas de méthode nommée « substring ».
Au caractère Ligne:2 : 5
+     $s = $mot.Substring($debut,$longueur)
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation : (:) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound


Quelqu'un a déjà rencontré ce problème ? une idée ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 2 mois #30465 par Laurent Dardenne
Salut,
ton appel de fonction passe un tableau , pas une liste de paramètre:
$test = Test "tutu" 0 2 
L'usage de parenthèses pour appeler une méthode d'objet est valide, mais pas pour un appel de fonction Powershell.
C'est le piège de base avec Powershell, et on y passe du temps avant de le comprendre...

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.064 secondes
Propulsé par Kunena