146 votes

Coalescence des nuls dans powershell

Existe-t-il un opérateur de coalescence nul dans powershell ?

J'aimerais pouvoir faire ces commandes c# dans powershell :

var s = myval ?? "new value";
var x = myval == null ? "" : otherval;

0voto

ZEE Points 391

J'ai eu un problème similaire...

qui était bien plus difficile à simplifier quand on a affaire à des index de tableaux qui n'existent pas...

ou encore plus bizarre (mais en Powershell cela peut arriver) si vous essayez d'assigner à partir d'une autre variable qui n'est pas encore définie/créée...

Exemples :

    $x = $y         # and $y id not defined/created yet
       -or-
    $x = $args[2]   # and args has less than 3 elements

curieusement, j'ai "deviné" quelques alternatives, et l'une d'entre elles est devenue très pratique...
Je pense que ça a à voir avec l'approximation de la programmation fonctionnelle de Powershell.
et le fait que les valeurs de pile "non saisies" restent dans le tuyau pour le prochain consommateur...

so this works flawlessly:
    $x = try{ $y }      catch { 1 }    # $x becomes 1
    $x = try{ $a[ 2 ] } catch { 2 }    #$ x becomes 2
    $x = try{ $a[ 2 ] } catch {   }    #$ x becomes $null
  • cela a simplifié beaucoup de code pour moi...
  • et même une aide pour le traitement avancé des paramètres optionnels*.

J'espère que cela vous aidera !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X