プレイ日記
スー thanks_0u0
参照型の罠にドハマリしたー。なんか変な動作すると思ったらさー(´=ω= `) もー、もー。 とりあえずPUSH時に無をプラスすることで参照を切り離せるみたいなので、そんな感じで対処しようと思いますー。 次ドハマリしたときに思い出せるように対処方と一緒にメモ!( ; д ; )ノ
11そうだね
プレイ済み
返信[1]
親投稿
INCの罠ですね(^^;) 安全を考えるとINCではなくちゃんと代入する式を書いた方が良いのかもしれませんね
2そうだね
プレイ済み
返信[2]
親投稿
スー thanks_0u0
普通の変数なら代入で書きますけれど、配列は代入だと長くなりがちなので、なるべく1行に収めたい派としては敬遠。。。( ´・ω・` ) でもINCのヘルプ見たら参照型になる命令は載ってたので、対処がそう難しくなさそうなのは幸いです(・u・)
2そうだね
プレイ済み
返信[3]
親投稿
変数=変数 って書くときに*1するようにしてる。 F$=FILELIST$[I]*1 みたいな
1そうだね
プレイ済み
返信[4]
親投稿
と思ったら画像では違うパターンだった… 同じ文字列変数をPUSHしまくるとえらい動きをする、メモる
1そうだね
プレイ済み
返信[5]
親投稿
スー thanks_0u0
ヘルプを見ると書いてあるのですけど、INC,DEC,PUSH,POP,SHIFT,UNSHIFT、が参照型命令になってるそうなので、ご注意です!( ´ ▽ ` )ノ DEFに配列を渡すときなんかは気をつけるようにしていましたが、こんなところにも罠があったとは…!
1そうだね
プレイ済み
返信[6]
親投稿
マギー M191246
配列のサイズが不定だったら 面倒になるかも知れませんけど FILL命令を使うというのは、ダメですか?
2そうだね
プレイ済み
返信[7]
親投稿
スー thanks_0u0
ご提案ありがとうございますー( ´ ▽ ` )ノ 画像は検証用のプログラムなのですが、実際はRPGのコマンド戦闘処理の「3ターンの間ダメージ」など継続効果に対しての処理で、継続効果用の配列にPUSHでスクリプトを入れて、毎ターンSHIFTで取り出し実行、みたいな動作をしているので、ご推察通りFILLは使いにくい感じになってしまっていますー(・u・)
2そうだね
プレイ済み
返信[8]
親投稿
MIKI ifconfig
サンプルの動きは、説明読んで理解できます。が、 push と代入で違う結果になるんですか??? 文字列変数の代入も参照のコピーだと思ってたけど、それとは違う話なのかな????
2そうだね
プレイ済み
返信[9]
親投稿
スー thanks_0u0
代入を使う、っていうのはpushでなくて、incの代わりに、って話じゃないでしょうかー(・u・) INC B$[0],"なにか" でなく、 B$[0]=B$[0]+"なにか" って書くと良いですよ、っていうー。 何か勘違いしてたらすみませんー(・д・)
1そうだね
プレイ済み
返信[10]
親投稿
Godot orz_127
INC周り、確かプチコン3号初期は平気だったのですが…。 当時INC内部で2重に余計な冗長な処理をしているとか言われていた気も。 アプデでこの辺りが修正されてから動作が変わったようです。 過去の投稿確認したら2015/3/5の投稿にはまっていた記録が残っていましたw 3.1.0で動作が変わった模様です。
1そうだね
プレイ済み