답변:
$a = 'This', 'Is', 'a', 'cat'
큰 따옴표 사용 (및 선택적으로 구분 기호 사용 $ofs
)
# This Is a cat
"$a"
# This-Is-a-cat
$ofs = '-' # after this all casts work this way until $ofs changes!
"$a"
연산자 결합 사용
# This-Is-a-cat
$a -join '-'
# ThisIsacat
-join $a
로 변환 사용 [string]
# This Is a cat
[string]$a
# This-Is-a-cat
$ofs = '-'
[string]$a
배열을 Out-String
cmdlet으로 파이프하는 것도 잘 작동 한다는 것을 알았 습니다.
예를 들면 다음과 같습니다.
PS C:\> $a | out-string
This
Is
a
cat
어떤 방법이 가장 적합한 지 최종 목표에 달려 있습니다.
$a
것$a | out-string
($a | out-string).getType()
= 문자열. $a.getType()
= 객체 []. 문자열을 기대하는 메소드에 대한 인수로 $ a를 사용하는 경우 (예 invoke-expression
를 들어) $a | out-string
분명한 이점이 있습니다.
파이프에서
# This Is a cat
'This', 'Is', 'a', 'cat' | & {"$input"}
# This-Is-a-cat
'This', 'Is', 'a', 'cat' | & {$ofs='-';"$input"}
쓰기 호스트
# This Is a cat
Write-Host 'This', 'Is', 'a', 'cat'
# This-Is-a-cat
Write-Host -Separator '-' 'This', 'Is', 'a', 'cat'
$ofs
인 Output Field Separator
배열이 출력 문자열로 변환 할 때 사용되는 변수. 여기서는 스크립트 블록에서 명령에 의해 실행되는 입력 (파이프에서 배열)의 문자열 값을 반환합니다 &
. 나는 약 몰랐 $ofs
뿐만 아니라, 이전 &
인수로 스크립트 블록 수용