私は奇妙な振る舞いをするいくつかのコードを持っています。私はユーザー入力が数字であり、それが255未満であることを検証しようとしています。かなり簡単です。powershellのユーザー入力の有効化が有効な入力を受け付けていない
問題は26から99までの数値が私のテストで私にとって有効ではないということです。 1-25は問題なく、100+もうまくいくように見えますが、何らかの理由で26-99でループを守ります。
DO
{
$ip_addr_first = Read-Host 'enter a number less than 255'
} while ($ip_addr_first -notmatch '\p{Nd}+' -or $ip_addr_first -gt 255)
write-host 'You entered' $ip_addr_first
私はここで迷っているので、問題がどこにあるのかを歓迎します。
おかげで...キャストは、私はちょうどPowerShellの –
@PS_newbieを学んでいるので、私にとって新しいものである:私の喜び。 PowerShellでは、型について心配する必要はありませんが、機会に応じて、基本的な(.NETの)型とその検査方法( 'Get-Member')の理解と変換が一般的です。私の代わりの解決法は、初期化中に変数を型制約する方法を示しています(永続的なキャスト、言い方をすれば)。 – mklement0