PowerShellの文字列連結で実際に異常な動作が見られます。最初は文字列置換のために"$var1: Hello"
構文を使用していましたが、それが機能していなかったので+
という単純連結に切り替えました。今私は正確に同じ代入式を使用していることに気づいている、私は2つの異なる結果を得る。PowerShellの文字列連結は、関数の内部と内部で異なる動作をします。
これは私にとってバギーですが、私は何か間違っていないことを確認したいと思います。最初の文字列は、文字列内の正しい場所に/diff/
と:
が含まれているか
http://localhost:56783/repo/34CAA433-1600-469E-95B7-35CA0A0FECF4/diff/9d21e91b213a07e56d16a9b8fe519ad570d5c46e:68269169cdd0b803d0e419752ce9cae627e589e5?format=json&ignorews=True&maxsize=100000&timeout=10
http://localhost:56783/repo/34CAA433-1600-469E-95B7-35CA0A0FECF4 9d21e91b213a07e56d16a9b8fe519ad570d5c46e 68269169cdd0b803d0e419752ce9cae627e589e5/diff/:?format=json&ignorews=True&maxsize=100000&timeout=10
注:コンソールに次の書き込み
function Test-Diff([string] $sRepoGUID, [string] $sChangeset1, [string] $sChangeset2){
$url = $g_backendUrl + "repo/" + $sRepoGUID + "/diff/" + $sChangeset1 + ":" + $sChangeset2 + "?format=json&ignorews=True&maxsize=100000&timeout=10"
Write-Output $url
}
$g_backendUrl = "http://localhost:56783/"
$sRepoGUID = '34CAA433-1600-469E-95B7-35CA0A0FECF4'
$sChangeset1 = '9d21e91b213a07e56d16a9b8fe519ad570d5c46e'
$sChangeset2 = '68269169cdd0b803d0e419752ce9cae627e589e5'
$url = $g_backendUrl + "repo/" + $sRepoGUID + "/diff/" + $sChangeset1 + ":" + $sChangeset2 + "?format=json&ignorews=True&maxsize=100000&timeout=10"
Write-Output $url
Test-Diff($sRepoGUID, $sChangeset1, $sChangeset2)
。 2番目の文字列には、/diff/
と:
の空白が含まれ、末尾の連結変数の後に/diff/
と:
が追加されます。
私は両方の場所で正確に同じ$url = ...
表現を使用しました(私はコピー/ペーストを使っても確かめました)。
私はWindows 7 x64を使用しており、これを2つの異なるマシンでテストしました。
この現象が発生する可能性があります。
http://stackoverflow.com/tags/powershell/info – manojlds
このゴチャチャは、大きな時間に私を得ました。ありがとう@manojlds – zionyx