PowerShell 함수 매개 변수 데이터 형식 인스턴스 지정
필수 매개 변수의 안전성을 높이기 위해 PowerShell 함수 정의의 가장 좋은 실천은 필수 매개 변수의 강력한 유형을 설정해야 한다는 것을 알려 줍니다.왜 그런지, 예를 하나 보자.
function Test-Me {
param
(
[Parameter(Mandatory=$true, HelpMessage='Enter number of EUROs!')]
$Euro
)
$Dollar = $Euro * 1.4
$Dollar
}
위의 예는 사용자가 유로화 값을 입력한 다음에 달러 값을 출력하는 것이다.두 화폐 사이에 환산을 한 셈이다.실제 실행 효과는 놀랍습니다. 참고:
PS> Test-Me -Euro 100
140
PS> Test-Me
cmdlet Test-Me at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
Euro: 100
100
여기서 두 번 테스트했는데 첫 번째 테스트는 문제가 없습니다. 100*1.4=140.그런데 두 번째 테스트에서 알이 아픈데 어떻게 100*1.4가 100이야?사실은 이렇다. 입력한 100은 숫자가 아니라 문자열로 여겨진다.그래서 한 문자열에 1.4를 곱하면 이 문자열을 1.4번 반복하고 반올림하는 것과 같다. 그것은 1번을 반복하는 것이다. 그것은 그대로 있는 것이다. 그래서 너는 이 100이 어떻게 왔는지 알지?
자, 이것이 바로 우리가 말한 안전성입니다.필수 매개 변수에 강한 종류를 설정하지 않으면 안전하지 않습니다!Double 유형으로 설정합니다.
function Test-Me {
param
(
[Parameter(Mandatory=$true, HelpMessage='Enter number of EUROs!')]
[Double]
$Euro
)
$Dollar = $Euro * 1.4
$Dollar
}
여러분은 이 코드가 이전의 문제가 발생하지 않았는지 시험해 보셔도 됩니다.여기에 [double] 지령이 추가되어 강제 데이터 형식의 역할을 했다.
PowerShell 함수에 대한 필수 매개 변수의 강력한 유형을 설정하는 데 관해서 본고에서 이렇게 많은 것을 소개했습니다. 도움이 되었으면 합니다. 감사합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.