1394
コメント:
|
1526
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 8: | 行 8: |
情報工学実験においてundoを実装したいと思い,そもそもundoとはなんなのだろうかと考えていて思いついたこと. | 情報工学実験において undo を実装したいと思い,そもそも undo とはなんなのだろうかと考えていて思いついたこと. |
行 10: | 行 10: |
全てのタスクは,状態 `Q` に対する `fi` の適用である.あるいは状態系に対する ''メッセージ'' `fi` の送信といったほうがより直感的かもしれない. | 全てのタスクは,状態 `Q` に対する `fi` の適用である.あるいは状態系 `Q` に対する ''メッセージ `fi` の送信'' といったほうがより直感的かもしれない. |
行 13: | 行 13: |
Q = ...fn・fn-1・... f2・f1(Q0) | Q = ... fn・fn-1 ... f2・f1(Q0) |
行 16: | 行 16: |
そしてメッセージfiを送信するとき,`fi^-1` を同時に生成し,`fi^-1` をスタック [T_undo] に積めば良い.<<BR>> そして,状態を戻したくなった場合,`fi^-1` をスタックから取り出し,状態系にメッセージ送信すればよい.(そして `fi^-1^-1 = fi` をredo スタックに積む.) |
このとき, * メッセージfiを送信するとき,`fi^-1` を同時に生成し,`fi^-1` をスタック `[T_undo]` に積めば良い.<<BR>> * 状態を戻したくなった場合,`fi^-1` をスタックから取り出し,状態系にメッセージ送信すればよい.(そして `fi^-1^-1 = fi` を redo スタックに積む.) |
行 19: | 行 20: |
これが undo なのだろう. | これが undo なのだろうと思う. |
行 21: | 行 22: |
redo スタックは,適切なタイミングで削除されなければならない.(厳密には, 今送信した fi が redoスタックの一番上に乗っている fj と等しくなければ,redoスタックは全て破棄されるべきである.) | redo スタックは,適切なタイミングで削除されなければならない.詳しく言うと, * 今送信した `fi` が redo スタックの一番上に乗っている `fj` と等しくなければ,redo スタックを全て破棄すべきである. * 等しかった場合,redo スタックから一つ取り出して破棄すべきである. |
日記
基本的に,自分は個人ページの下であっても編集ボタンをグレーアウトさせない方針で運用していたのだが,
日記については閉じることにした.
また,ACLがページごとにバラバラだったのをなるべく揃うようにした.
undo
情報工学実験において undo を実装したいと思い,そもそも undo とはなんなのだろうかと考えていて思いついたこと.
全てのタスクは,状態 Q に対する fi の適用である.あるいは状態系 Q に対する メッセージ fi の送信 といったほうがより直感的かもしれない.
Q = ... fn・fn-1 ... f2・f1(Q0)
このとき,
メッセージfiを送信するとき,fi^-1 を同時に生成し,fi^-1 をスタック [T_undo] に積めば良い.
状態を戻したくなった場合,fi^-1 をスタックから取り出し,状態系にメッセージ送信すればよい.(そして fi^-1^-1 = fi を redo スタックに積む.)
これが undo なのだろうと思う.
redo スタックは,適切なタイミングで削除されなければならない.詳しく言うと,
今送信した fi が redo スタックの一番上に乗っている fj と等しくなければ,redo スタックを全て破棄すべきである.
- 等しかった場合,redo スタックから一つ取り出して破棄すべきである.