プレイ日記
おちゃめ ochame_nako
悪用厳禁!いたずらプログラム
11そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
ABONE()関数はファイルを削除する関数です。 ファイルを削除するまで無限ループになります。 といっても、停止ボタンで停止できるので実際は安全です。 このプログラムではTXT:SAVEDATAのみが削除されますが、フォルダ内のファイル名を取得すればフォルダ内のすべてのファイルを削除することも可能です。 もっとも、削除することを伝えるダイアログが表示される(そこで停止が可能)ので心配は要らないです。 プチコン3号でファイルのセーブや削除でダイアログをOFFにできないのはこのためです。 もしも将来的にプチコン3号でダイアログ無しでセーブや削除が可能になったら知らないうちにファイルが消されてしまうという自体が発生するかもしれません。
2そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
LOOP()関数は停止ボタンが効きにくい無限ループです。 プチコン3号は何かあったらすぐに停止ボタンで停止ができるため安心できるのですが、命令を実行中は停止ボタンが効きません。 そこで、非常に重い命令を実行させることで停止ボタンを効きにくくしています。 プチコン3号では簡単に停止できるABONE()関数よりも厄介でしょう。 もちろん、しつこく押せばちゃんと反応するため心配は要りません。
1そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
ちなみにRETURN 0として戻り値0の関数にしているのは私の自作関数RVAL()に対応させるためです。 RVALは例えばRVAL("SIN(RAD(30))*256")で128という値を返し、プチコン3号で使えるすべての演算子、関数、定数リテラルに対応し演算優先順位通りに式を評価する関数です。(私の簡易関数電卓QSPで使用している) そして、戻り値のある自作関数にも対応しています。 したがって、A=RVAL("ABONE()")でファイルを削除できます。 とはいえ、A=CALL("ABONE")でも削除できるし、A=ABONE()でも削除できます。 というわけでRVAL()関数そのものの危険性が高いわけではなく式の評価を行う便利な関数として使うことができます。 リスト中のRVAL()関数は最新のver.2.1を掲載しています。
1そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
ちなみに簡易関数電卓QSPはRVAL()関数ver.1.0ベースで作っていますが、ver.2.1ベースで作り直せば59文字もリスト短縮が可能になります。 ただし、すでに公開している拡張関数ライブラリの互換性が無くなってしまうため今のところver.2.1ベースに簡易関数電卓QSPをバージョンアップする予定はありません。
1そうだね
プレイ済み
返信[5]
親投稿
ひさ々の|____| auhome-a6c8Ae-A
そのコードに付け足してループ&ループ×2でデータを破損さしてSAVEするとプチコンが起動できなくなります。。。
1そうだね
プレイ済み