プログラミングに詳しい人きてください
■ このスレッドは過去ログ倉庫に格納されています
Enterキーを押すと処理Aが実行される
処理Aは変数xを使って行われる
処理A実行中にEnterキーを押すと、変数xが2処理内で使われて挙動がバグる
同時までとは言わないが、処理A中に処理Aを実行する方法はないか
無名変数とかあればいいんだけど
詳しい人いる? >>2
すごく簡単に言うと、xに代わるその時に実行された処理用の変数が欲しいんだ
xを関数ごとに定義出来ればバグらないと思う >>4
Pythonです
なんとなく、処理Aの、
def A(): ←ここになんか入れたらいい気がする コーディングできない人だけど
レーザープリンターとかのキューの処理みたいに処置を記憶されておいて順次処理させていくのは? >>7
順次じゃダメなんだ…
処理A中に処理Aを実行したい 使い捨て変数とかないかしら
ちなみになんだけど、変数xは他の処理では全く使わない
あくまでも処理Aを行うための変数 処理Aで無名変数を定義してそれをxとして使ってリストに格納して、カウンターでインデックス指定して取り出して使う方法も考えた
でもそれだと結局カウンター用の変数が2処理内で使われてバグる 処理Aの最初に現在の時刻などを取得してそれを変数名にする(今xとしているもの) >>8
普通は排他処理で考えるものじゃないかな
何msecの世界で行われているから事実上リアルタイムに行われているように見えるだけで そもそもなんでバグるのかが分からん
xを書き換えてるのか???
xはどこで定義してるのか xが二ヶ所で更新しあってバグるってこと?
変数増やしちゃあかんの? X書き換えなかったら大丈夫だと思うけどPythonのクソ仕様とかあるからわからんね
int Hoge(int X)
{
int Y=X+3
return Y
};
とかでいけないか? Pythonとかなら型が動的だから最初に実行したときは型推論うまくいったけど2回目やるときは変な型になって処理ができんくなったとか?
型指定できるらしいからやってみてもう一度試してみたら? 愚直だけどグローバルでA実行中フラグを宣言して
A処理開始したらそれをtrueにして
A処理全体をifで囲んでA実行フラグがfalseじゃないと実行できないようにする
A処理終わったらfalseにすればA処理を並列で走らせられなくなる >>18
async/awaitはC#が一番最初
他の言語はC#からこの仕様をパクった id(x)が呼び出しごとに変わらないからバグってるんだよな
思いつく範囲だと辞書を用意しておいて >>11 かなあ xがどういう用途なのかわからん
A以外で使わないなら>>6で値渡しでA(x)にするだけでええやん 引数が変わるだけなら即時関数とか高階関数で行けるかもしれない ごめん
チャリで駅向かってた
>>1です
そしてごめん、xは書き換えるんだ… x=1
class A
def B(event=None):
処理B
A.B()
def C(event=None):
処理C
A.C()
def D(event=None):
処理D
簡略化するとこんな感じ
処理B~D全てでxに別値を代入する
処理C中に処理Bを実行すると処理Bで処理Cにおけるxが使われてバグるということです >>26
xをリストにして処理Bが実行されるたびにインデックスを1ずつ増やし、x[0]に代入、x[1]に代入、x[2]に代入…
ってされるようにするとか? 変数Y作ればよくね?
Xのみじゃないとなんか不具合あんの? よく分からんけどローカル変数なら呼び出されるごとに作られるから関係ないやろ
ローカル変数じゃないならすまん 一応ラムダ式使えばどうにかなりそうなことは確認した def A(a):
f = lambda x:print(id(x))
f(a)
A(1) # 2639232198960
A(2) # 2639232198992 >>26
処理Aと処理Aじゃなくなってるやん
あとclass Aの外のxを処理中に更新しなきゃいけない理由がわからん
処理Cの後のA.C()って再帰ってことでいいんかな?再帰関数def Cとは別に実行関数def C_を用意してC_内でx_c=xとかしてC_のローカルに落としてからC()を実行すれば処理C全体が終わるまでクラス外のx更新をせずに済むと思う >>31
カウンターとして使うんだ
仕事絡むから詳しくは言えないけど、処理Cは0.1秒で1回、計10回実行する必要がある
だから訳あってfor文では早すぎて代用できないんだ… こういうのは往々にして設計が間違ってるパターンだけど>>1はそういうの求めてないんだよね
出した手札だけで解決方法を教えてくれってパターンが多い そんなつもりはなかったんだが、後付け訂正たくさんでごめん
x=1
class A
def B(event=None):
処理B
A.C()
def C(event=None):
処理C
A.D() #10回実行後
def D(event=None):
処理D
return ところで「チンポがシコシコする」という日本語表現は、学術的に正しいと言えるのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、自ら勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ! xは処理B,C,Dの実行回数(同時に実行される可能性もある)を数えるようなものと思っていい?実際は違うかもしれないけど今までの話だと処理としてはそのような物だと認識してる ワロタ
いくらでもやりかたあるとおもうけどか具体的に何がしたいのか説明されんともう何も言えんわ 質問のレベルが低すぎてひくわ
こういう頭のレベルのやつがプログラミングやると害にしかならんのよな 普通にY作ってY=Y+〇〇ってやればいいだけでは? 各処理でxを何に使ってんのか分かんないからアドバイスのしようがなくないか
共通である必要性あるの? なにこれpython
同じ処理ゲームのマクロ作るのに作った気がするから
後でPC開けたら送ってやるよ ■ このスレッドは過去ログ倉庫に格納されています