Function 另一个PowerShell返回问题
我已经阅读了一些关于Powershell和return语句的帖子,但是这个脚本对我来说似乎非常简单:Function 另一个PowerShell返回问题,function,powershell,return,Function,Powershell,Return,我已经阅读了一些关于Powershell和return语句的帖子,但是这个脚本对我来说似乎非常简单: function test ($n) { if($n -lt 0) { return "negative" } return "positive" } 但当我执行它时: PS C:\Users\spadmin> test 5 positive PS C:\Users\spadmin> test -3 positive 这个输出毫无意义。为了
function test ($n) {
if($n -lt 0) {
return "negative"
}
return "positive"
}
但当我执行它时:
PS C:\Users\spadmin> test 5
positive
PS C:\Users\spadmin> test -3
positive
这个输出毫无意义。为了尝试更清晰,我将函数更改为:
function test1 ($n) {
if($n -lt 0) {
return "negative"
} else {
return "positive"
}
}
我得到了同样的结果。如何让函数仅返回字符串“负”以表示小于零的输入值,以及“正”以表示大于或等于零的输入值?使用类型化参数:
function test([Int] $n) {
...
使用类型化参数:
function test([Int] $n) {
...
试试这个
function test ([int]$n) {
if($n -lt 0) {
return "negative"
}
return "positive"
}
试试这个
function test ([int]$n) {
if($n -lt 0) {
return "negative"
}
return "positive"
}
好的,但是以下代码可以作为主线代码使用$n的正值或负值:
$n=5如果($n-lt 0){return“negative”}“positive”
为什么函数需要知道变量的类型而主线代码不知道?比较:'-1','0'| sort
和-1,0 |排序
-传递字符串参数,比较时,PowerShell将从右向左转换。比较:0-lt'-1'
和'-1'-lt 0
可以,但是以下代码可以作为主线代码使用$n的正值或负值:$n=5如果($n-lt 0){返回“负值”}“正值”
为什么函数需要知道变量的类型而主线代码不知道?比较:'-1','0'| sort
和-1,0 | sort
-传递字符串参数,比较时,PowerShell从右向左转换。反向测试也可以,比较:0-lt'-1'
和'-1'-lt 0