へぇ〜、そうなんだ2
mizuno-amiさんがNSBASで変数の型について試されたら、おもしろい結果になっています。
BASICでの変数はCと比べてかなり緩いので、そこが楽なところでもありますが、思った通りの結果が得られず、悩ましいところでもあります。
私はMicrosoftのBASICで覚えたことが、NS Basicで通用しないことがままあって、最初はちょっととまどいました。
で、試してみたのが次のコードです。
Dim a,b,c,d localStorage.a = 1 a = localStorage.a localStorage.d = "TEST" d = localStorage.d b = 2 c = "3" Print TypeName(a) Print TypeName(b) Print TypeName(c) Print TypeName(d) Print a + b Print b + c Print b & c Print b + CInt(c) print b + CInt(a)
結果は次の通り、
number
integer
integer
string
12
23
23
5
3
変数aにnumberという不思議な型が表示されています。
変数dの型がstringと表示されているんで、numberは何らかの数値型のようにも思えますが、それともVariant型のようなものなんでしょうか?
加算の結果は数値型同士では数値として扱われ、文字列型と数値型では文字列型として扱われるようです。
mizuno-amiさんが言われるように変数cがIntegerというのは不思議です。