Re: IS演算子の必要性 ( No.3 ) |
- 日時: 2007/06/20 14:25
- 名前: 魔界の仮面弁士
- > [BASIC] =に算術演算子と論理演算子の2つの意味を持たせたのはかなりひどい言語設計誤り。
そのあとに続く論拠を見る限り、問題点を感じているのは、「算術演算子」「論理演算子」という 点ではなく、「代入演算子としても使われている」という点なのでは……?
> 他の具体例を説明してくれというのではないです。多分追いつけません まぁ、ネタとして書いているだけなので、適当に読み飛ばしてくださいませ。
>「Is 比較では False だが、= 比較では True となる場合」も思いつきませぬ
たとえば、『分数クラス』を作った場合を想像してみてください。
「1/2個のリンゴ」と「1/2個のミカン」があったととき、『値』は「1/2」で一致しますが、 『物(Object)』は、「リンゴ」と「ミカン」という別物を示していますよね。 そのような状況であれば、Is は False、= は True となります。
VB2005 で書くなら、こんな感じですね。 http://www.vb-user.net/junk/replySamples/2007.06.20.12.57/ObjectReference.txt
あるいは、VB6の『テキストボックス』でも良いです。
フォームに、「Text1」と「Text2」を貼って、いずれの Text にも「あいうえお」と入れます。 この場合、Text1 と Text2 は異なるオブジェクトなので、Is は False ですが、 テキストの内容は一致しているので、= は True になりますね。 If Text1 Is Text2 Then '… False となる。 If Text1 = Text2 Then '… True となる。
|
|