|
▼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に変化ないですよね
|
|