- ベストアンサー
変数の頭「#」の意味
VB初心者です。 VB5のOPEN関数等で見かける #変数名 の#はどういう意味でしょうか? ヘルプを見ると「省略可能」とありますが・・・ 指定した場合に何か意味を持つものなのでしょうか? 例 intFileNo = FreeFile Open "test.txt" For Input As #intFileNo
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ファイルをオープンするとき「Open "test.txt" For Input As #1」のように 番号を付け、以後のRea/Writeはその番号を用いて、「print #1,"ABC"」の ように行います。この時、その番号のところを変数にして「#intFileNo」のように 書くことができます。(#はファイル番号を表します)
その他の回答 (2)
- tinu 2000(@tinu2000)
- ベストアンサー率40% (147/366)
No、ナンバーの意味で理解していました。 > intFileNo = FreeFile 使えるファイルNoを、intFileNoの変数にセット > Open "test.txt" For Input As #intFileNo "test.txt"をファイルNo.intFileNoでオープンする。 > 指定した場合に何か意味を持つものなのでしょうか? あると、無いとでは、特別な意味は無いと思いますが、ソースを理解するにはあった方が良いのでは?
お礼
ありがとうございます。 なるほど、「#変数(番号)」を「No.変数(番号)」とよみかえればコードが分かりやすい、ということですね。 #の指定で(実行結果が)変わるというわけではないということでしょうか。
- osamuy
- ベストアンサー率42% (1231/2878)
print文で出力先を指定するために、「print #1 ...」みたいな構文が導入されました。 なんで#がついたかというと、「print 1」では、ファイルナンバー1に出力するのか、単に1を出力するのか、文法的に曖昧になってしまうからです。 これにあわせて、open文にも#を付けるように文法を定義したのだと思います。 以上、当てずっぽう。
補足
人間が見やすくするために#をつけてもよい、ということでしょうか?
お礼
結局、#自体の指定が意味を持つわけではない(省略しても何も変わらない)ということですね。 関数の末尾の$のように、指定することで処理効率が上がったりするのかな? とか思っていたのですが。 どうもありがとうございました。