![サムネイル](https://logisoku.com/wp-content/uploads/2022/11/VFWuOHmzekhXjghwyr.jpg)
- 1 : 2022/11/22(火) 06:28:54.697 ID:Wzw8hYaj0
- Enterキーを押すと処理Aが実行される
処理Aは変数xを使って行われる処理A実行中にEnterキーを押すと、変数xが2処理内で使われて挙動がバグる
同時までとは言わないが、処理A中に処理Aを実行する方法はないか
無名変数とかあればいいんだけど
詳しい人いる?
- 2 : 2022/11/22(火) 06:30:04.510 ID:Ajnu5hF00
- 処理実行中か管理すればいんではないの
- 3 : 2022/11/22(火) 06:31:45.558 ID:Wzw8hYaj0
- >>2
すごく簡単に言うと、xに代わるその時に実行された処理用の変数が欲しいんだ
xを関数ごとに定義出来ればバグらないと思う - 4 : 2022/11/22(火) 06:32:40.819 ID:lBSBlc370
- 言語は
- 6 : 2022/11/22(火) 06:34:09.985 ID:Wzw8hYaj0
- >>4
Pythonですなんとなく、処理Aの、
def A(): ←ここになんか入れたらいい気がする
- 22 : 2022/11/22(火) 06:54:46.658 ID:4ifBMLHnr
- xがどういう用途なのかわからん
A以外で使わないなら>>6で値渡しでA(x)にするだけでええやん - 5 : 2022/11/22(火) 06:33:18.370 ID:TQlcCCIk0
- 言語何?
インタプリタ系? - 7 : 2022/11/22(火) 06:34:51.429 ID:JkPiPbWR0
- コーディングできない人だけど
レーザープリンターとかのキューの処理みたいに処置を記憶されておいて順次処理させていくのは? - 8 : 2022/11/22(火) 06:36:08.624 ID:Wzw8hYaj0
- >>7
順次じゃダメなんだ…
処理A中に処理Aを実行したい - 12 : 2022/11/22(火) 06:40:19.248 ID:JkPiPbWR0
- >>8
普通は排他処理で考えるものじゃないかな
何msecの世界で行われているから事実上リアルタイムに行われているように見えるだけで - 9 : 2022/11/22(火) 06:37:13.045 ID:Wzw8hYaj0
- 使い捨て変数とかないかしら
ちなみになんだけど、変数xは他の処理では全く使わない
あくまでも処理Aを行うための変数 - 10 : 2022/11/22(火) 06:39:00.783 ID:Wzw8hYaj0
- 処理Aで無名変数を定義してそれをxとして使ってリストに格納して、カウンターでインデックス指定して取り出して使う方法も考えた
でもそれだと結局カウンター用の変数が2処理内で使われてバグる - 11 : 2022/11/22(火) 06:39:25.203 ID:JjgZNzpX0
- 処理Aの最初に現在の時刻などを取得してそれを変数名にする(今xとしているもの)
- 21 : 2022/11/22(火) 06:52:59.117 ID:lBSBlc370
- id(x)が呼び出しごとに変わらないからバグってるんだよな
思いつく範囲だと辞書を用意しておいて >>11 かなあ - 13 : 2022/11/22(火) 06:42:36.811 ID:QMxd4MQwd
- そもそもなんでバグるのかが分からん
xを書き換えてるのか???
xはどこで定義してるのか - 14 : 2022/11/22(火) 06:43:17.565 ID:4ifBMLHnr
- xが二ヶ所で更新しあってバグるってこと?
変数増やしちゃあかんの? - 15 : 2022/11/22(火) 06:43:55.758 ID:pjf5RZTu0
- 再入可能とは違うの
- 17 : 2022/11/22(火) 06:46:43.915 ID:TQlcCCIk0
- Pythonとかなら型が動的だから最初に実行したときは型推論うまくいったけど2回目やるときは変な型になって処理ができんくなったとか?
型指定できるらしいからやってみてもう一度試してみたら? - 19 : 2022/11/22(火) 06:48:13.349 ID:gW/hZI38a
- 愚直だけどグローバルでA実行中フラグを宣言して
A処理開始したらそれをtrueにして
A処理全体をifで囲んでA実行フラグがfalseじゃないと実行できないようにする
A処理終わったらfalseにすればA処理を並列で走らせられなくなる - 23 : 2022/11/22(火) 06:57:51.505 ID:QMxd4MQwd
- 引数が変わるだけなら即時関数とか高階関数で行けるかもしれない
- 24 : 2022/11/22(火) 06:59:39.054 ID:m5fGLBHEa
- ごめん
チャリで駅向かってた
>>1ですそしてごめん、xは書き換えるんだ…
- 25 : 2022/11/22(火) 07:00:46.763 ID:JjgZNzpX0
- xをexec()などを使って動的な変数にする
- 27 : 2022/11/22(火) 07:05:05.057 ID:QMxd4MQwd
- 値で渡せばいい
- 28 : 2022/11/22(火) 07:06:25.308 ID:m5fGLBHEa
- ちょっとレス見かえす
- 31 : 2022/11/22(火) 07:13:33.589 ID:VlA/iA0A0
- 変数Y作ればよくね?
Xのみじゃないとなんか不具合あんの? - 32 : 2022/11/22(火) 07:17:54.734
- よく分からんけどローカル変数なら呼び出されるごとに作られるから関係ないやろ
ローカル変数じゃないならすまん - 33 : 2022/11/22(火) 07:18:58.452 ID:JjgZNzpX0
- >>32
ん?確かにそうかも - 34 : 2022/11/22(火) 07:19:13.253 ID:lBSBlc370
- 一応ラムダ式使えばどうにかなりそうなことは確認した
- 36 : 2022/11/22(火) 07:23:24.206 ID:lBSBlc370
- いやこれ引数自体が違うからか
忘れてください
コメント