Next: , Previous: , Up: Forth Tutorial   [Contents][Index]


3.14 Designing the stack effect

他の言語では、 関数(function)のパラメータに任意の順序を使用できます。 また、 結果は 1 つだけなので、 結果の順序を扱う必要もありません。

Forth (および他のスタック・ベースの言語、 たとえば PostScript)では、 定義のパラメーターの順序と結果の順序が重要であり、 適切に設計する必要があります。 一般的なガイドラインは、 ワードの実装が複雑になる場合でも、 ワードがほとんどの場合に簡単に使用できるようにスタック効果を設計することです。 いくつかの具体的なルールは以下のとおりです:

これらのルールは一般的なガイドラインに過ぎません。 ワードを使いやすくするという全体的な目標を見失わないでください。 例えば、 慣習のルールが計算長のルールと衝突する場合、 ワードがあまり使われない場合は慣習を優先するかもしれません。 一方、 ワードが頻繁に使われる場合は、 計算長のルールを優先するかもしれません(だからといって頻繁に使うと、 計算長のルールを破るコストが非常に高くなりますし、 頻繁に使うことで非慣習的な順序を覚えてしまいがちになります)。