見出し画像

プログラム、動けば1秒で終わる。開発は数十時間

今さっき、開発中のZbrushプラグインの動作テストの半分が終了。往路と復路のうち往路側の結合テストが終了。やっとバグなしで完走した。だが疲れ果てたので結果のチェックに至っていない。形式的にはバグはない。アウトプットのチェックは明日。

今回も山ほどつまずいた。

(約 1,900文字の記事です。)



AutoHotkeyのみの動作とPython上のahkの違い

部分開発時にはAutoHotkeyだったので、バグ取りもAutoHotkey+VS Codeで完了。あとはそれをPython上で動くかテストするだけ、のはずが。

うん動かない😭エラー。色々あったわ。

  • バックスラッシュ1個問題、2個問題、スラッシュの違い

  • 要はバックスラッシュ文字のエスケープの扱いの違い

  • Pythonでのファイルパスの型と文字列の違い

主にファイルパスの扱いで詰まった。特にバックスラッシュのエスケープ。これはとりあえず保留で明日検証。今はダイレクトにhoo\bar.txtみたいに1固まりでテスト。本当はフォルダとファイル名を別々に扱いたい。その方が拡張性が高いので。だがわからんので今は保留。明日に賭けるさ。


AutoHotkeyの引数問題

AutoHotkeyをexeやahkファイルでPythonに読み込んで使う分には、割と教科書通りの引数を簡単に読み込める。だが今の実装ではahkファイルの内容そのものをPythonの中に取り込んでいる。そしてPython上でahkを動作させている。なので外部ファイルとしてhoo.ahkがあるわけではない。なので引数の受け渡し方が教科書通りに行かなくなった。ここに創意工夫が必要でまた詰まった。

ahkの中身もPyarmorで難読化したいので、ahkファイル単体を外部フォルダにおいて読み込ませるわけにはいかないのです。Pyarmorで外部のテキストファイルも難読化できたっけ?多分できたような気がするが試していないので分からない。将来的にメンテナンス性のよいほうにチェンジするかも知れない。単体ahkファイル+難読化の方が、実は開発を考えればpyとは別々のテキストファイルの方が扱いやすいことは確かだが……。今は保留。

とりあえず試行錯誤してPython上から第1引数をahkソースに渡すことができたので良しとする。


初歩:関数を呼び出す関数で引っかかる

だいぶ前に教材で学んだ気がするがもう思い出せないw そこにひっかっかった。結局らちがあかないので&疲れ果てたのでChatGPTチートを使う。ChatGPT先生に聞いて解決「*args, **kwargs」こういったやつを付け忘れていた。2行に追加ですんなり動いたとさ。プログラムはこういうところでつまずくと色々と凹む。


動いてしまえば1秒で結果が出る

まぁそれがプログラム。今まで何十時間もかかって組み上げてきたものが、スパッと1秒で結果が出る。手作業だったら、アレを押して、これを選択して、フォルダを開いて、なんやかんや、……、というのを全自動で一発1秒でファイルが出力された。

そう、たったの1秒。この時間の価値。これが知力の勝利だ。

何回クリックしても、1秒後にファイルが指定フォルダに生成される.ため息が出る。このためににソースコードを書いてきたのだ。あら1秒。マジかよ、と思う。

にっくき赤色のエラーメッセージも、今となっては恋しい。(嘘)

黒背景に白文字のデバッグ用メッセージが全部正常を示している。

とりあえずぱっと見では正常動作している。やったね。


今日はもう疲れたので寝ます。


今回の創作活動は約1時間(累積 約3,857時間)
(1,107回目のnote更新)

筆者はAmazonアソシエイト・プログラムに参加しています。(AmazonアソシエイトとはAmazon.co.jpの商品を宣伝し所定の条件を満たすことで紹介料をAmazon様から頂けるという大変ありがたい仕組みのこと。)
以下のリンクを経由してAmazonでお買物をするとその購入額の1~3%ほどのお小遣いが私に寄付されます。誰が何を買ったという情報は私には通知されませんのでご安心下さい😊 以下のリンクを経由して頂ければ紹介商品以外のご購入でもOKですよ~。

今日の一杯はこちら。


読んでくれてありがとう。気長にマイペースに書いてます。この出会いに感謝😊