Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4864 / 76732 ←次へ | 前へ→

【77483】Re:参照渡しと値渡し
発言  ichinose  - 15/10/16(金) 5:33 -

引用なし
パスワード
   ▼Nobu10 さん:

>(〜受け)と言ったほうがよいのではないかと思います。
言葉の問題は、歴史を紐解かないと理解できないことがあると思いますよ!!
パラメータ渡し、私が30年前に使っていた低級言語では、値渡しという概念がない言語でした。参照渡しだけです。方式が一つしかないのですから、言葉として参照渡しで
問題がないですね!! こんな時代が長く続いた後に 値渡し方式がでてくると、
言葉使い方で  参照渡しと値渡し というワードが自然に定着しても 違和感がなくなってしまいます。


因みに変数宣言だって

Dim A As Long

このDimって dimensionの略です。私のイメージですとこれは次元という意味なので、
言葉的には、違和感がありますよね!!

私の以前使っていた言語では 

Dcl A As Integer

declare 宣言する  の方がしっくりきます。

歴史的にみると、

昔のBasicには、変数宣言がありませんでした(N88Basicの時代)。

ですから、いきなり a,b,cなどの変数がとびでてくることになります。

配列だけは、

Dim Ary(15)

Dim ary(10,20)

と規定が必要でした(10未満は要らなかった)

Basicで変数宣言が可能になったとき、このなごりで
dim a as integer

になったのでしょう。


パラメータ渡しの話に戻ると、オブジェクトのプロパティをパラメータに使っても
値渡し扱いになりますね!!


Sub test()
  Call test2(Range("a1").Value)
End Sub
Sub test2(ByRef myval As Variant)
  myval = 123
End Sub


test実行でセルA1に変化ないですよね

0 hits

【77479】参照渡しと値渡し Nobu10 15/10/16(金) 2:05 質問[未読]
【77480】Re:参照渡しと値渡し β 15/10/16(金) 2:22 発言[未読]
【77481】Re:参照渡しと値渡し β 15/10/16(金) 2:47 発言[未読]
【77482】Re:参照渡しと値渡し Nobu10 15/10/16(金) 5:33 発言[未読]
【77484】Re:参照渡しと値渡し β 15/10/16(金) 8:08 発言[未読]
【77497】Re:参照渡しと値渡し Nobu10 15/10/16(金) 17:10 お礼[未読]
【77502】Re:参照渡しと値渡し ichinose 15/10/16(金) 18:42 発言[未読]
【77509】呼び出し側で引数の渡し方を決めたい理由 ichinose 15/10/17(土) 19:42 発言[未読]
【77510】Re:呼び出し側で引数の渡し方を決めたい理由 β 15/10/17(土) 19:55 発言[未読]
【77511】Re:呼び出し側で引数の渡し方を決めたい理由 ichinose 15/10/17(土) 21:41 発言[未読]
【77503】Re:参照渡しと値渡し cai 15/10/16(金) 22:44 発言[未読]
【77483】Re:参照渡しと値渡し ichinose 15/10/16(金) 5:33 発言[未読]
【77501】Re:参照渡しと値渡し Nobu10 15/10/16(金) 18:27 お礼[未読]
【77505】Re:参照渡しと値渡し γ 15/10/17(土) 12:50 発言[未読]
【77512】Re:参照渡しと値渡し Nobu10 15/10/18(日) 0:01 お礼[未読]
【77515】Re:参照渡しと値渡し β 15/10/18(日) 6:27 発言[未読]
【77516】Re:参照渡しと値渡し Nobu10 15/10/18(日) 7:19 お礼[未読]
【77517】Re:参照渡しと値渡し γ 15/10/18(日) 8:59 発言[未読]

4864 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free