UnrealScriptは常に状態(および潜在関数)/グループ化のようなブロックに機能してフィールドをオーバーロードすることによってのためにそれで、多少、その本質的な支援を私に感銘を受けていますの負荷を使用するよりもかなりきれいですどのプログラミング言語が言語レベルの状態をサポートしていますか?
state() SomeState
{
...
function void Foo()
{
GotoState('SomeOtherState');
}
...
}
すべての関数内のswitch-statements(ほとんど何らかの種類のdesign by contract)です。
このような状態宣言を本質的にサポートする他の汎用プログラミング言語がありますか(ビジュアルプログラミング言語やWorkflow Foundationなどのツールを無視します)。
編集:
UnrealScriptの中の状態の美しさのいくつかは、あなたがサブクラスでステートフルな機能をオーバーライドし、さらに新しい、名前の状態を定義することができるということです。 C#やJavaなどの単一の継承しかサポートしていない言語を中心に、異なる状態を実装するenumスイッチ(enumを拡張することができない)、代理人、またはco-classを扱うのは面倒です。
は面白いですね。動的プロトタイプベースの継承とどのように違いますか? –