2020/09/18(金) [n年前の日記]
#1 [lua] Lua用軽量IDE ZeroBrane Studio を試用
TIC-80用のスクリプトソースを Microsoft Visual Studio Code 1.49.0 (VS Code)で編集していたのだけど、どうもソースの自動整形設定が上手くいかなくて。TIC-80用のコードは、たしか64KB以内に収めないといかんので、できれば文字数は減らしたい。けれど、VS Code は読みやすいようにスペースを入れて整形してくれるから、その分文字数が増えてしまう。
自分は以前、何を使って書いてたのだろうと日記を検索してみたら、どうやら ZeroBrane Studio を使って作業していた時期があるらしい。ということで、Windows10 x64 2004上に、ZeroBrane Studio 1.90 (ZeroBraneStudioEduPack-1.90-win32.exe) をインストールして試用してみたり。
_ZeroBrane Studio - Lua IDE/editor/debugger for Windows, Mac OSX, and Linux
Download のページに飛んで、「Take me to the download page this time」をクリックすれば、DLできる。開発を支援したい場合は、いくらか払うこともできる。
各種設定は、日記を眺めながら再設定した。
_mieki256's diary - Lua用軽量IDE ZeroBrane Studio を少し試用
自分は以前、何を使って書いてたのだろうと日記を検索してみたら、どうやら ZeroBrane Studio を使って作業していた時期があるらしい。ということで、Windows10 x64 2004上に、ZeroBrane Studio 1.90 (ZeroBraneStudioEduPack-1.90-win32.exe) をインストールして試用してみたり。
_ZeroBrane Studio - Lua IDE/editor/debugger for Windows, Mac OSX, and Linux
Download のページに飛んで、「Take me to the download page this time」をクリックすれば、DLできる。開発を支援したい場合は、いくらか払うこともできる。
各種設定は、日記を眺めながら再設定した。
_mieki256's diary - Lua用軽量IDE ZeroBrane Studio を少し試用
[ ツッコむ ]
#2 [lua] Geany 1.36を試用
日記を検索していたら、Luaスクリプトを編集する際に Geany を使っていた時期もあるようで。一応インストールしておこうかなと…。環境は Windows10 x64 2004。
_Home | Geany
今回は、Geany 1.36 (geany-1.36_setup.exe) をインストールしてみた。
以前使った際は、文字を打ち込むと、GTK+ 32bitのバグで、何故か半角カタカナになってしまう不具合に遭遇したのだけど。今回試用した Geany 1.36 + Windows10 x64 2004 なら、その不具合は発生してないように見えた。
ていうか、日記を検索したら、以前も 1.36 をインストールして問題は起きてなかったらしい。
_mieki256's diary - Geany 1.36 をインストール
_Home | Geany
今回は、Geany 1.36 (geany-1.36_setup.exe) をインストールしてみた。
以前使った際は、文字を打ち込むと、GTK+ 32bitのバグで、何故か半角カタカナになってしまう不具合に遭遇したのだけど。今回試用した Geany 1.36 + Windows10 x64 2004 なら、その不具合は発生してないように見えた。
ていうか、日記を検索したら、以前も 1.36 をインストールして問題は起きてなかったらしい。
_mieki256's diary - Geany 1.36 をインストール
[ ツッコむ ]
#3 [tic80] TIC-80のスクリプトがエラーを出す問題を調べてたり
自分が以前書いたTIC-80用のスクリプトが、0.70.6 ではエラーを出さないけれど 0.80beta ではエラーを出すあたりが気になって、原因を調べていたり。
どうも、0で除算をしているあたりが怪しい気がする…。
以下のように書き換えたらエラーが出なくなった。
ただ、0.70.6 も、0.80beta も、0 を割ったり、0 で割ったりした際に、「そんな計算はできないよ」的な何かが入ってるっぽいのだよな…。
実行すると、「a=-nan(ind)」と表示される。0.70.6 も 0.80beta も結果は同じ。であれば、0.70.6 で実行した際にもエラーを出して止まりそうなものなのに、0.70.6 は動いちゃう…。何故。
どうも、0で除算をしているあたりが怪しい気がする…。
-- adjust enable local vmax,vmin=0,0 for i=1,#dt do if dt[i]>vmax then vmax=dt[i] end if dt[i]<vmin then vmin=dt[i] end end local range=vmax-vmin for i=1,#dt do dt[i]=math.floor(15*(dt[i]-vmin)/range) dt[i]=clamp(dt[i],0,15) endrange に 0 が入った時に、おかしくなるのではないか…。
以下のように書き換えたらエラーが出なくなった。
-- adjust enable local vmax,vmin=0,0 for i=1,#dt do if dt[i]>vmax then vmax=dt[i] end if dt[i]<vmin then vmin=dt[i] end end local range=vmax-vmin if range == 0 then for i=1,#dt do dt[i] = math.floor(15 * (0.5 * dt[i] + 0.5) + 0.5) dt[i]=clamp(dt[i],0,15) end else for i=1,#dt do dt[i]=math.floor(15*(dt[i]-vmin)/range) dt[i]=clamp(dt[i],0,15) end end
ただ、0.70.6 も、0.80beta も、0 を割ったり、0 で割ったりした際に、「そんな計算はできないよ」的な何かが入ってるっぽいのだよな…。
function TIC() cls(13) a = math.floor(15*(8-8)/0) print("a="..a, 0, 0) b = 10 / 2 print("b="..b, 0, 8) end
実行すると、「a=-nan(ind)」と表示される。0.70.6 も 0.80beta も結果は同じ。であれば、0.70.6 で実行した際にもエラーを出して止まりそうなものなのに、0.70.6 は動いちゃう…。何故。
[ ツッコむ ]
以上、1 日分です。