【projectItemRenamer.jsx】準備処理 11【開発記】
準備処理の続き🤤
環境確認
草案作成
UI構築
環境保存
環境読込
準備処理 ←今ココ
選択判定
候補処理
選択処理
改名処理
→ new RegExp(pattern,flags) は pattern の文字列の書式は constructor の段階では検証されないっぽい🤔
動作確認
それじゃ setSstr() の動作確認再開よー🤪
👇
しまった、これじゃ返り値見えないや🙄
変数に入れないと break 時の値を見れないのよね🤤
setSstr("")
返り値の設定が null で状態も PRV_STATUS_ERROR_SSTR_NULL で正しそう🤤
setSstr("a","d")
返り値は特に "" と変わってない…が、おかしい…なぜなら a0 の上に "a = d" とかいう明らかに global 汚染した変数が湧いてきてる🙄
setSstr("$^")
こちらも返り値変わらず、 a の中身が "$^" に変化🙄
間違いなく間違えてる(ややこしい
setSstr("(\d+)")
a が "(d+)" に変化😞
最初の "" 以外全部おかしいっぽい🙄
setSstr("") //再
今度はステップインして確認🤪(最初からそうしろ
………
取り敢えず "" の場合は想定通りに動作…してるっぽい🤤
setSstr("a","d") //再
ひとまず p.setProperties() までは正しく動いてるっぽい🤔
(p.sstr=="a")
今の所ここが一番怪しい場所🙄
flag が文字列で中身が有るなら flag 付きで new するという部分なんだけど…
sstr は検索文字 "a" だけなので問題は無いけれど flag の文字が "d" で存在しないのでエラーになる算段🤔
ちゃんと catch できてるよね?🤔
stat も 36865 だからおかしくない…🙄
あ、そうか。 res は毎回 new されてるから別のポインタ参照になってて更新されてないだけだわ🤪💥🤛
setSstr("(\d+)") //再
どうやら一応想定通りに動いてるっぽい🤔
ただ、どこで a に代入が起きてるのかがよく判らない🙄
…
…
…
じっくり追いかけてみたけどどこにも a に代入してるとこが無い…🙄
ESTK の不具合かな、多分😞
なんていうか、こういう意味不明の不具合が結構あるのよね、このツール🙄
結局書式の検証は?
"$^" は兎も角 "(\d+)" は明確に E4X では使用できない特殊文字なんだけど new した段階では catch されずに通ったのでどうやら検証されないっぽい🤤
MDN の資料でも評価される時にコンパイルするみたいに書かれてたから、今自分がやってるみたいに準備として格納だけしておいて駆動する時に初めて検査するのかなって思う🤔
次回は
本体側に null チェックや try を増やす工程かな🤤
状況次第だけど処理行が少ないのですぐ終わる可能性も…🚩