首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >检查开关参数的正确方法是什么?

检查开关参数的正确方法是什么?
EN

Stack Overflow用户
提问于 2019-09-04 07:59:38
回答 1查看 3.4K关注 0票数 6

检查开关值的正确方法是什么?

代码语言:javascript
代码运行次数:0
运行
复制
function testSwitch
{
    Param(
        [switch] $swth
    )

    Write-Host "Value of swth is $swth"

    if($swth.IsPresent){
        Write-host "Switch is present"
    }
    if($swth){
        Write-Host "Switch is present"
    }

}

testSwitch -swth

我知道如果这两种说法都有效,但怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2019-09-04 08:16:15

只使用if/else子句会更简单:

代码语言:javascript
代码运行次数:0
运行
复制
Function Get-FruitDetails {
    [CmdLetBinding()]
    Param (
        [String]$Fruit,
        [Switch]$Yellow
    )

    Write-Verbose "Get fruit details of $Fruit"

    $Result = [PSCustomObject]@{
        Fruit  = $Fruit
        Yellow = $null
    }

    if ($Yellow) {
        Write-Verbose 'Color is yellow'
        $Result.Yellow = $true
    }
    else {
        Write-Verbose 'Color is not yellow'
        $Result.Yellow = $false
    }

    $Result
}

Get-FruitDetails -Fruit 'Banana' -Yellow -Verbose
Get-FruitDetails -Fruit 'Kiwi' -Verbose

这将产生以下结果:

代码语言:javascript
代码运行次数:0
运行
复制
Fruit   Yellow
-----   ------
Banana  True
Kiwi    False

一些小贴士:

  • 避免使用Write-Host,它是用于控制台程序的。如果您想查看消息,最好使用Write-Verbose并添加-Verbose开关
  • 尝试对函数名使用PowerShell批准的谓词。使用Get-Verb可以很容易地找到它们。它将使其他人更容易了解您的函数GetSetRemove、.
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57783941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档