スカラー比較(PowerShell 入門)

by HIRO 24. 8月 2008 23:55

この記事は以前 http://blog.hiros-dot.net/ に書いたものです。

今回は比較演算子でちょっとした実験を行ってみたいと思います。

比較演算子の説明は「比較演算子(PowerShell 入門)」を参照願います。

下記のように数値の2と2を-eq演算子で比較した場合、当然これは等しいのでTrueが返されます。

PS > 2 -eq 2
True

では、次のように数値の2と文字列"2"を比較したらどうなるでしょうか?

PS > 2 -eq "2"

この結果はTrueとなります。

ではなぜTrueとなるのでしょうか?

これはPowerShellがスカラー比較を行うためです。(スカラー比較とは2も"2"も同一視すること)

では、下記のようにキャストして比較してみたらどうなるか

PS %gt; [int]2 -eq [string]"2"
True

これも結果としては同じ値と見なされてしまい、Trueを返します。

下記のように数値型と文字列型(GetType()メソッドは型を返します)の比較はスカラー比較は適用できないため、Falseが返されます。

PS > (2).GetType() -eq "2".GetType()
False

最新のブログ

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

PowerShell | PowerShell入門

コメントを書く


 

  Country flag

biuquoteredbluegreenyellowPowerShellTextFile
  • コメント
  • プレビュー
Loading



Calendar

<<  3月 2010  >>
月曜火曜水曜木曜金曜土曜日曜
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

View posts in large calendar
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010 PowerShell from Japan!!