トップページ⇒tech
36コメント6KB

VBのvariant型なんて嫌いだ!!!!!

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
VBのvariant型って、どの型とも柔軟に演算が
できるのはとってもうれしいんだけど、人間に
とって予期しない演算結果をだすぱるぷんてな
存在だから嫌。
 何かうまい使い方、または意見があったら
お願いします。
0002デフォルトの名無しさんNGNG
まったく同意なので終了。
0003デフォルトの名無しさんNGNG
2と同じく 嫌いだに同意し、使い方に何の興味もないので 終了
0004sageNGNG
1のレス
このスレは異常終了しました。
終了コードは0x0000000aです。
0005デフォルトの名無しさんNGNG
演算結果がどうなるかを記憶しきれないうえに
こんな単発スレ建てる1の脳がぱるぷんてなので終了
0006SurfaceNGNG
1、関数の戻り値に使用する。
2、汎用引数として使用する。

こんなもんかな。
0007正直、NGNG
>1、関数の戻り値に使用する。
>2、汎用引数として使用する。

早く氏んで欲しい・・・
0008SurfaceNGNG
>正直、さん

他にどんな使い方が・・・
0009デフォルトの名無しさんNGNG
使わない。
0010デフォルトの名無しさんNGNG
このスレにレスを続けるには、要VBランタイムです。
OSやIEのバージョンが違っても動作しません。
0011SurfaceNGNG
>9
Longの32倍遅いVariantなんて俺も使わないけど
それを言ったら終わり・・・
0012デフォルトの名無しさんNGNG
だから終了だっていうの。
0013SurfaceNGNG
だけど、エントロピーを下げるには、良いんじゃない?
0014デフォルトの名無しさんNGNG
コレクションに使う...
使わないっての(VB自体)
0015デフォルトの名無しさんNGNG
nullが入れれるから便利
0016SurfaceNGNG
>>15
>nullが入れれるから便利
それはあるね・・・
N○T-○EのDBは、Nullがいっぱい・・・
仕様では、Stringのはずなのに・・・
0017デフォルトの名無しさんNGNG
>>16
if isNull(FIELD) then
 string = FIELD
else
 string = ""
endif
DB の場合しかたないからこうしてる…。
variant は使いたくないねぇ。
0018SurfaceNGNG
そーね
俺は、表示部分でそんなことやってた気がする・・・
ああ、めんどくせ〜と思いながら

ローカルでは、Variant使ってたかな〜
0019デフォルトの名無しさんNGNG
sageろ!
0020SurfaceNGNG
>>7
正直、さんに質問です。
split関数使わないの?
splitっぽいのは、別にMid$使っても出来るけどさ〜
0021SurfaceNGNG
下げるよ!
0022デフォルトの名無しさんNGNG
>>Suface
正直、何で常に上げるのですか?
0023デフォルトの名無しさんNGNG
>>17
それだったら
string = FIELD & ""
で、自動型変換したほうが、処理が遥かに速いyo!
0024SurfaceNGNG
知らんかった

俺あぼーん
002517NGNG
>>23
ガーン!オレも知らなかったー!逝ッテキマス…
0026デフォルトの名無しさんNGNG
どっちだって良いよ。
0027SurfaceNGNG
>>22
正直、何で常に上げるのですか?

Surfaceだからさ・・・ごめん
0028デフォルトの名無しさんNGNG
データベース(mdbとか)で、文字列型に""を入れるとエラーが出るのに、
String型変数にはNullが入れられないので、
Stringの代用としてVariantを使うことが(稀に)ある。

Stringとして使う分には、計算することはないし、
文字列結合は&でやるから大丈夫。
002928NGNG
ごめん、ageてしまった。
0030デフォルトの名無しさんNGNG
パフォ〜!!バリアント馬場です。プフォォォォ!
0031デフォルトの名無しさんNGNG
話題になってるVariant型って、もしかしてIEコンポーネントで使うVariantと同じ物なの?
VB使ったこと無いからわからない。
0032デフォルトの名無しさんNGNG
そうだよ データ互換性としては OLE で使う Variantと同じものだよ
色んな型を渡せるという意味だけなら便利だよね。

でもVBの場合は 、 変数の定義なしに使うとVariantになるし
  1+"3" みたいに書けるんだ。

勝手に変換するんだよね。 こりゃ判り易いと思うのは最初の一瞬だけで
少し慣れるとワケワカメ
0033デフォルトの名無しさんNGNG
Perlの変数のほうがよっぽどワケワカメだよ。
マジカルイクリメントとかスカラーコンテキスト/リストコンテキストとか。
0034デフォルトの名無しさんNGNG
>>32
なるほど。ありがとう。
C++でVariant使うとえらい面倒だけどね(w
自分でラッパー書けとでもいうのだろうか。すでに存在してるのかもしらんが。
0035デフォルトの名無しさんNGNG
さらしあげ
0036デフォルトの名無しさんNGNG
Dim hogehoge As Variant

hogehoge = Array("hoge1", "hoge2", "hoge3")
■ このスレッドは過去ログ倉庫に格納されています