トップページ > プログラム > 2015年06月01日 > b5EyYOue

書き込み順位&時間帯一覧

3 位/185 ID中時間01234567891011121314151617181920212223Total
書き込み数00000000020002010013221014



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net

書き込みレス一覧

Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
855 :デフォルトの名無しさん[sage]:2015/06/01(月) 09:12:01.80 ID:b5EyYOue
大きすぎる制約
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
856 :デフォルトの名無しさん[sage]:2015/06/01(月) 09:13:11.38 ID:b5EyYOue
てかCollectionだと参照を返せるんだ?
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
858 :デフォルトの名無しさん[sage]:2015/06/01(月) 13:03:22.50 ID:b5EyYOue
>>857
VBAにそういう固有の事情でもあると?
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
859 :デフォルトの名無しさん[sage]:2015/06/01(月) 13:07:09.81 ID:b5EyYOue
>>857
もしかしてVBAで効率を気にしても意味ないって言ってるのかな?コピーを返すコストは気にするなと。
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
861 :デフォルトの名無しさん[sage]:2015/06/01(月) 15:12:46.15 ID:b5EyYOue
>>860
定義ったってVBAで参照といえばByRefのことだとしか。
関数がByRefで受け取った変数をByRef のまま出力することを言ってるのさ。
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
868 :デフォルトの名無しさん[sage]:2015/06/01(月) 18:22:09.18 ID:b5EyYOue
>>865
ByRefでのOUTはないでしょ?
y = func(func(x))
で内側のfuncが返す値はコピー。
xが配列のときつらい。
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
870 :デフォルトの名無しさん[sage]:2015/06/01(月) 19:32:26.58 ID:b5EyYOue
>>869
どこかや?
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
871 :デフォルトの名無しさん[sage]:2015/06/01(月) 19:33:05.33 ID:b5EyYOue
間違えた
>>869
どこがや?
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
872 :デフォルトの名無しさん[sage]:2015/06/01(月) 19:40:12.86 ID:b5EyYOue
じゃあ少し具体的に書くと、
関数 func(ByRef x As Variant ) As Variant
が配列 x のランダムな位置の1要素をランダム値に書き換える関数だとする。
これを3回繰り返すとき x = func(func(func(x))) と書きたい。
そういうときどうするよ?
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
877 :デフォルトの名無しさん[sage]:2015/06/01(月) 20:18:35.39 ID:b5EyYOue
>>874
ああ「引数でOUT」ね。でも理由があってチェーン表記にする必要があるし、グローバル変数は使いたくない。

>>876マジで?
手元の環境で>>872の処理だとxの要素数1,000,000で大体150msくらいかかる。実際の繰り返しはもっと多いです。
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
879 :デフォルトの名無しさん[sage]:2015/06/01(月) 20:51:14.69 ID:b5EyYOue
>>878
おまえは>>872に対する解を何一つ持ってないじゃないかドアホウ。
なにがグローバル変数を使えだ、いいかげんにしろ。

>>876
そう言わずに教えてよ。
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
881 :デフォルトの名無しさん[sage]:2015/06/01(月) 21:08:45.97 ID:b5EyYOue
>>880
そりゃ複数の箇所から使うときのオーナーシップ管理がややこしくなるし、関数ごとにfunc1用グローバルfunc2用グローバルとか必要になった日にはそんな関数一般化も汎用化も望めなくなるし、第一グローバル変数を避けることに理由付けなんかいらないんだよね。
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
886 :デフォルトの名無しさん[sage]:2015/06/01(月) 21:30:01.89 ID:b5EyYOue
>>885
この場合その前提かあてはまるか?
>>872にある
x = func(func(func(x)))
の変数 x のどこにそんなグローバル性が見いだせるの?

>>883
ヒン...ト...
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
892 :デフォルトの名無しさん[sage]:2015/06/01(月) 22:10:58.83 ID:b5EyYOue
>>887
単純化したサンプルだからそう見えるかもしれないが、「文ではなく式であり値を持つ」ことに価値がある場合があるのさ。
func0(funcA(x), funcB(y), funcC(z)...)
としたらもっとわかりやすいか?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。