ワードを忘れる

一度定義をロードしてしまったワードも、それを忘れて初めからやり直すことができます。ただし、そのためには、予め、"MARKER"でマークをつけておかなければなりません。

正確にいえば、このワード"MARKER"が、ロードされたワードを忘却するためのマークをつけるためのユーティリティーワードである、ということです。適当な名前(未定義ワード)をMARKERとして宣言することによってMopsに辞書にマークをつけ、事後にそのワードを実行すれば、MARKER宣言以後に定義されたワード(変数等も含む)を全て忘れることができるのです。例えば、
MARKER myMark
         |
[ワード定義や変数・定数宣言、クラスメソッド定義]
         |

のようなコードをMopsにロードしたとします。その後で、ワード"myMark"をMops環境上で実行すれば、"MARKER myMark"以後のコードは忘却され、Mops辞書はMARKER宣言の直前の状態に復帰します。

"MARKER myMark"以後が全部忘れられるのであって、選択的に忘れることはできません。これは、ワード定義等はそれ以前の定義を累積的に利用していくことが多いからです。

注意点として、"myMark"実行後は、"MARKER myMark"という宣言自体も忘れてしまいます。ですから、後でもう一度同じところまで戻りたくなる可能性があるのであれば、再び"MARKER myMark"という宣言を実行する必要があります。

例えば、途中にミススペリングを含んでいる可能性のあるソースコードが書かれたファイル"HONDA"をMopsにロードする前に、"MARKER myMARKII"を宣言しておくとします。:
MARKER myMARKII
// HONDA

このようなコードをMops環境上で実行したとします。もし、ファイル"HONDA"のコードの中に案の定ミスがあって、システムビープ音とともにエラーメッセージが表示され、ロードが中断されたとしても、"myMARKII"を実行すればMops辞書は"HONDA"のロードを始める前の状態に復帰するので、ミスを直した上で、また上のコードから新たな再出発をすることができます。ミスがなく最後までロードされることがわかったら、正式のロードの際には、MARKERを外してかまわないわけです。(会社がくい違ってるとかいわない。)


関連項目:






最終更新:2018年12月11日 21:44