tagCANDY CGI VBレスキュー(花ちゃん)の雑談用掲示板
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の雑談用掲示板
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 となる。



 [スレッド一覧へ] [親スレッドへ]