Excel VBA質問箱 IV

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

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


4833 / 76735 ←次へ | 前へ→

【77517】Re:参照渡しと値渡し
発言  γ  - 15/10/18(日) 8:59 -

引用なし
パスワード
   間に合いませんでした。

コメントはしますが、返事を求めるものではありません。

>そうでは無くメインルーチンが渡しを決めてサブルーチンを呼ぶことができることを知った
それは事実ではありません。

既に何度も説明がありましたが、
引数に余計なカッコをつけることで、
元の変数とは別の領域にクローンが作成され、
その参照が渡されているだけで、
元の引数の値が変化していないために、ByBalのように見えているだけです。
依然としてByRefであることに変わりはありません。

一方、ByValで定義されているプロシージャを、
呼び出し側でByRefと変更することもできません。
メインルーチン側で渡し方法を決めるなどということはできません。

>サブのほうで渡しを決めるのが基本的
"基本的"ではありません。
例外なく、プロシージャにおける定義に従っています。

呼出元が主導権を握ることができる、ないしコントロールができる、
という認識をお持ちのようですが、それでは、
ByValで定義されているプロシージャを、
ByRefとして機能するメイン側の呼び出し方があるのか、
考えてごらんになると良いでしょう。

---------------------
賄賂云々の譬えを申し上げたが、適切さを欠きました。
というのは、渡す側、受ける側に独立の人格があるような譬えだったからです。

メインプロシージャ、subプロシージャ、functionプロシージャ側に
独立の人格?など無く、各プロシージャーを厳格に定義し、それらを認識した上で、
プロシージャに実行の一部を委ねるのは、同一の主体でしかありません。
各プロシージャの定義を承知したうえで使っているのです。

あたかもそれぞれに意志があるかのような擬人化したモデルで、
コードの理解を図ろうとすると無理が生ずるのではないでしょうか。

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 発言[未読]

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