2012-12-24 7 views
0

과제에 대해 Powershell 스크립트의 if 문 내에 if 문을 넣을 수 있음을 증명해야합니다. 그래서 나는 동봉 한 대본을 만들었다. 나는 그러나 내가 가지고있는 스크립트가 두 개의 분리 된 if 서술문을 기술하는지 혹은 if의 if 문으로 간주 될지 확실하지 않다.If 문 if 문에서

[int]$a = Read-host "Please input a number." 
if ($a –eq 5) { 
Write-Host “a is 5” } 
if ($a –ne 5) { 
Write-Host “a isn't 5” } 
Read-host 

어떤 도움이 필요합니까?


답장을 보내 주셔서 감사합니다. 왜 이것이 작동하지 않습니까?

if ($a –lt 2) { 
    if ($a –lt 3) {  
     if ($a –lt 4) { 
      if ($a –lt 5) { 
      Write-Host “a is less than 5” } 
     Write-Host “a is less than 4” } 
    Write-Host “a is less than 3” } 
Write-Host “a is less than 2” } 

답변

2

아니요, 이들은 두 개의 개별 if 문입니다. 중첩 된 항목은 다음과 같습니다.

if ($a –lt 5) { 
    if ($a –ne 2) { 
    Write-Host “a isn't 2” } 
Write-Host “a is lt 5” } 
+0

편집 된 기본 게시물. –

+0

흠. 그것은 나를 위해 작동합니다. 만약 내가'[int] $ a = Read-host "를 입력하고 숫자를 입력하고 프롬프트에 3을 입력 한 다음 위의 명령을 실행하면 출력이'a is not 2 \ na is lt 5'가됩니다 – pbhd

+1

편집 한 게시물도 작동합니다. 그러나, 가장 바깥 쪽 if가 2를 검사하기 때문에, 다른 모든 안쪽 if는 평가 될 기회 만 가지기 때문에, a가 2보다 작은 경우, 예를 들어, 1,하지만 내부 ifs는 일종의 사소한입니다 : 뭔가가 2보다 작 으면, 또한 2보다 큰 어떤 숫자보다 적습니다. 그래서 아마 당신은 비교하고자하는 숫자의 순서를 뒤집고 싶을 것입니다 : 먼저 5를 사용하고, 다음 4, 3 등등 ... – pbhd