Python の True, False は変数みたいなものであるのは有名。
True が 1、False が 0 な整数という解釈でいいのかな。
>>>True + True 2 >>>True + False 1
まてよ、IronPython ではどうなのかな?
CTS により .NET の型にマッピングされなければいけないはずなんだが。
と思ったので少し試したけど整数等と同じ、つまり普段は Python の型である。
clr か System を import すると「どっちでもいい」オブジェクトに変身する。
>>>import System
>>>System.Boolean.Parse("true") == True
True
>>>True + True + True
3
又、変数?なので
>>> True = "abcde"
>>> True
'abcde'
>>> True + True
'abcdeabcde'
>>> System.Boolean.Parse("true") == True
False
>>> 2 == 2
True
真ならやはり True が戻ってくるけど中身は文字列というワケワカなことにも。
ま、普通は True や False に代入するはずがないから気にしなくてもいいんだが。
ついでに、どこかで null は IntPtr.Zero だとか見かけたけど
全然違う、None で大抵イケるはずだが None のマッピングは何だろう?

