見出し画像

【projectItemRenamer.jsx】準備処理 11【開発記】

準備処理の続き🤤

環境確認
草案作成
UI構築
環境保存
環境読込
準備処理 ←今ココ
選択判定
候補処理
選択処理
改名処理

→ new RegExp(pattern,flags) は pattern の文字列の書式は constructor の段階では検証されないっぽい🤔

#jsx #開発記
#RegExp


動作確認

それじゃ setSstr()検索語を設定 の動作確認再開よー🤪
👇ポチっとな

画像1

しまった、これじゃ返り値見えないや🙄

画像2

変数に入れないと break 時の値を見れないのよね🤤


setSstr("")

画像3

返り値の設定sstrが null で状態statPRV_STATUS_ERROR_SSTR_NULL36864 で正しそう🤤


setSstr("a","d")

画像4

返り値写真ではa1は特に "" と変わってない…が、おかしい…なぜなら a0 の上に "a = d" とかいう明らかに global 汚染した変数が湧いてきてる🙄


setSstr("$^")

画像5

こちらも返り値変わらず、 a の中身が "$^" に変化🙄
間違いなく間違えてる(ややこしい


setSstr("(\d+)")

画像6

a が "(d+)" に変化😞
最初の "" 以外全部おかしいっぽい🙄


setSstr("") //再

今度はステップインして確認🤪(最初からそうしろ

………

取り敢えず "" の場合は想定通りに動作…してるっぽい🤤


setSstr("a","d") //再

画像7

画像8

ひとまず p.setProperties() までは正しく動いてるっぽい🤔
(p.sstr=="a")

画像9

今の所ここが一番怪しい場所🙄
flag が文字列で中身が有るなら flag 付きで new するという部分なんだけど…

画像10

sstr は検索文字 "a" だけなので問題は無いけれど flag の文字が "d" で存在しないのでエラーになる算段🤔

画像11

ちゃんと catch できてるよね?🤔
stat も 36865 だからおかしくない…🙄❓❓❓

画像12

あ、そうか。 res は毎回 new されてるから別のポインタ参照になってて更新されてないだけだわ🤪💥ガッ!🤛


setSstr("(\d+)") //再

画像13

画像14

どうやら一応想定通りに動いてるっぽい🤔
ただ、どこで a に代入が起きてるのかがよく判らない🙄

じっくり追いかけてみたけどどこにも a_global.a に代入してるとこが無い…🙄ナニコレ
ESTKExtendScript ToolKit の不具合かな、多分😞
なんていうか、こういう意味不明の不具合が結構あるのよね、このツール🙄


結局書式の検証は?

"$^" は兎も角 "(\d+)" は明確に E4X では使用できない特殊文字なんだけど new した段階では catch されずに通ったのでどうやら検証されないっぽい🤤
MDNMozilla Developper Netowrk の資料でも評価される時にコンパイルするみたいに書かれてたから、今自分がやってるみたいに準備として格納だけしておいて駆動する時に初めて検査するのかなって思う🤔


次回は

本体側に null チェックや try を増やす工程かな🤤
状況次第だけど処理行が少ないのですぐ終わる可能性も…🚩

この記事が気に入ったらサポートをしてみませんか?