トップページ > プログラム > 2014年08月31日 > ag+J7Um1

書き込み順位&時間帯一覧

26 位/193 ID中時間01234567891011121314151617181920212223Total
書き込み数0120000000000000000000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】

書き込みレス一覧

【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
111 :デフォルトの名無しさん[sage]:2014/08/31(日) 01:45:29.98 ID:ag+J7Um1
"GNU Smalltalk版"

! Association methodsFor: 'Command' !
redo
 self key value.
!
undo
 self value value.
!!

| activeJournal log |

log := Transcript.
activeJournal := UndoStack new.
activeJournal
 push: ( [ log show: 'Hello' ] -> [ log show: 'Bye' ] ); "DoItと同じ"
 undo;
 redo;
 pop. "popはredoしないundo"
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
113 :デフォルトの名無しさん[sage]:2014/08/31(日) 02:03:10.59 ID:ag+J7Um1
>>109
各言語によるUnDo/ReDoの実装方法を批判する事がお題の目的で、
別に関数の入れ替えが出来るか試す事がお題の目的じゃないよ。
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
114 :デフォルトの名無しさん[sage]:2014/08/31(日) 02:13:20.82 ID:ag+J7Um1
>>108
Bugだね。ごめんごめん。

Journal = {};
Journal.ReDo = function(){};
Journal.UnDo = function(){};
Journal.DoIt = function( aCommand )
{
 aCommand.Do();
 var unDo = this.unDo;
 this.UnDo = function()
 {
  var reDo = this.ReDo;
  aCommand.UnDo();
  this.UnDo = unDo;
  this.ReDo = function()
  {
   this.DoIt( aCommand );
   this.ReDo = reDo;
  }
 }
}


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。