プログラミングに詳しい人きてください

サムネイル
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
いやこれ引数自体が違うからか
忘れてください

コメント

タイトルとURLをコピーしました